Далее на странице...
Здесь будет рассмотрено событие перемещение мыши, которое передает обработчику информацию (координаты) о перемещении указателя мыши над каким-либо объектом.
Объект события (например, изображение над которым происходит перемещение указателя мыши) передается обработчику (какой-либо функции) при помощи свойства onmousemove.
В обработчике работа с координатами осуществляется при помощи свойств: clientX, clientY; screenX, screenY или pageX, pageY.
1) clientX и clientY - расстояние (в пикселях) от левого и верхнего края окна браузера до указателя мыши;
2) pageX и pageY - расстояние (в пикселях) от левого и верхнего края страницы браузера до указателя мыши;
3) screenX и screenY - расстояние (в пикселях) от левого и верхнего края экрана пользователя до указателя мыши.
image.onmousemove = showCoords;
showCoords(){. . . . .};
- image - какое-либо изображение;
- onmousemove - событие (движение указателя);
- showCoords() - функция (обработчик события);
Чтобы функция showCoords() выполнялась при движении указателя мыши над изображением (объектом) image, необходимо воспользоваться свойством onmousemove.
Далее рассмотрим ситуацию, которая дополнит пример, рассмотренный ранее - на этой странице.
Написать код, который:
- меняет полупрозрачную карту-изображение на полноценную при щелчке на ней левой кнопкой мыши;
- выводит координаты указателя мыши при его движении по карте.
Свойство onmousemove - Событие перемещение мыши
<script type="text/javascript">
/* 1. После полной загрузки страницы вызывается функция back_gr */
window.onload = back_gr;
/* 2. При щелчке на карте-изображении мышью вызывается функция change. При этом в функцию change передается Объект события, т.е. изображение */
function back_gr(){
var image = document.getElementById('blur');
image.onclick = change;
/* При перемещении указателя по карте вызывается функция position. При этом в функцию position также передается изображение, как Объект события */
image.onmousemove = position;
}
/* 3. Функция change меняет одно изображение на другое */
function change(eventObj){
var image = eventObj.target;
image.src = "img/map.jpg"
}
/* 4. В функции position вычисляются координаты указателя мыши при его перемещении по карте и меняется содержимое абзаца */
function position(eventObj){
var paragraph = document.getElementById('coord');
var x = eventObj.clientX;
var y = eventObj.clientY;
var x_1 = eventObj.screenX;
var y_1 = eventObj.screenY;
var x_2 = eventObj.pageX;
var y_2 = eventObj.pageY;
paragraph.innerHTML = "Координаты указателя мыши <p>От левого (и верхнего) края окна браузера: " + x + ", " + y + "<p>От левого (и верхнего) края пользовательского экрана: " + x_1 + ", " + y_1 + "<p>От левого (и верхнего) края страницы браузера: " + x_2 + ", " + y_2;
}
</script>
<body>
<img src="img/map_blur.jpg" id='blur'>
<p id = "coord">Щелкните указателем мыши по карте. И перемещайте его по ней</p>
</body>
На этой странице: информация и графическая иллюстрация, которые помогут разобраться с материалом, представленном на текущей странице.