Вот, пожалуйста,
HTML:
<img class="coords" src="http://i.imgur.com/bhvpy.png">
JavaScript:
var tooltip = $( '<div id="tooltip">' ).appendTo( 'body' )[0];
$( '.coords' ).
each(function () {
var pos = $( this ).position(),
top = pos.top,
left = pos.left,
width = $( this ).width(),
height = $( this ).height();
$( this ).
mousemove(function ( e ) {
var x, y;
x = ( ( e.clientX - left ) / width ).toFixed( 1 ),
y = ( ( height - ( e.clientY - top ) ) / height ).toFixed( 1 );
$( tooltip ).text( x + ', ' + y ).css({
left: e.clientX - 30,
top: e.clientY - 30
}).show();
}).
mouseleave(function () {
$( tooltip ).hide();
});
});
Демонстрационная версия: http://jsfiddle.net/pSVXz/12/
С моим обновленным кодом вы можете иметь несколько изображений с этой функцией - просто добавьте к изображениям класс "coords"
.
Примечание. Этот код должен находиться внутри обработчика load
(вместообработчик ready
), потому что мы должны прочитать размеры изображения, которые мы можем сделать только для полностью загруженных изображений.