Координаты курсора над блоком
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Координаты курсора над блоком</title> </head> <body> <div style="margin:10%;"> <div id="detect" style="background-color:#C69; height:150px; width:80%;"></div> <label for="PosX">Координаты X<input id="PosX" name="PosX" type="text" /></label> <label for="PosY">Координаты Y<input id="PosY" name="PosY" type="text" /></label> </div> </body> </html> Как определить положение курсора именно над блоком id="detect" и вывести полученные координаты в тестовые поля как это сделать на Jquery я знаю, но нужно именно на JavaScript желательно кросс браузерно |
кстати, вопрос к ребятам : IE 9 в режиме имитации IE 7 .. его имитирует полностью ? или есть что-то отличающееся?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Координаты курсора над блоком</title>
</head>
<body>
<div style="margin:10%;">
<div id="detect" style="background-color:#C69; height:150px; width:80%;"></div>
<label for="PosX">Координаты X<input id="PosX" name="PosX" type="text" /></label>
<label for="PosY">Координаты Y<input id="PosY" name="PosY" type="text" /></label>
</div>
</body>
</html>
<script type="text/javascript">
var x = document.getElementById("PosX"),
y = document.getElementById("PosY"),
el = document.getElementById("detect");
el.onclick = function(e){
if(!e) e = event
*!*
x.value = e.offsetX;
y.value = e.offsetY;
*/!*
}
</script>
|
не написал наверное нужно не поклику а отследивать место положение курсора, кажется mousemoove
|
все спасибо пределал
el.onmousemove |
не большая доработка
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Координаты курсора над блоком</title>
</head>
<body>
<div style="margin:10%;">
<div id="detect" style="background-color:#C69; height:150px; width:80%;"></div>
<label for="PosX">Координаты X<input id="PosX" name="PosX" type="text" /></label>
<label for="PosY">Координаты Y<input id="PosY" name="PosY" type="text" /></label>
<label for="bgX">Начало<input id="bgX" name="bgX" type="text" /></label>
</div>
</body>
</html>
<script type="text/javascript">
var begin=0;
var x = document.getElementById("PosX"),
y = document.getElementById("PosY"),
bgX = document.getElementById("bgX"),
el = document.getElementById("detect");
el.onmousemove = function(e){
if(!e) e = event
x.value = e.offsetX;
y.value = e.offsetY;
var begin = e.offsetX;
bgX.value = e.offsetX;
if (begin < (e.offsetX+15) ){
begin=e.offsetX;
alert("движение вправо");
}
if (begin < (e.offsetX-15) ){//|| begin<(e.offsetX-15
begin=e.offsetX;
alert("движение влево");
}
}
el.onmouseout = function(e){
begin=0;
}
</script>
Вообщем нужно что б когда пользователь водит мышкой по блоку туда сюда всплывало сообщение о том, что мышка прошла 15 влево или вправо Сейчас показывает всегда движение вправо притом как только я навожу курсор на блок без движение по самому блоку При уводе курсора с блока begin сбрасываем |
| Часовой пояс GMT +3, время: 12:36. |