Определение положения курсора мыши
Помогите, пожалуйста с проблемой. Нужно отслеживать местонахождение курсора мыши в текущем документе. А затем позиционировать некий блок <div>Содержимое</div> возле указателя.
Я делаю следующим образом:
Моя функция(Block)
{
var mousePosX = event.x; //- позиция по x
var mousePosY = event.y; //- позиция по y
Block.style.left = mousePosX;
Block.style.top = mousePosY;
}
Соответственно <div/>:
<div class="DivMenu" onMouseOut="return Моя функция(this)" id="myID">Некая информация</div>
Ну а <div/> само собой позиционирован абсолютно
Необходимо вести абсолютный отчет от левого верхнего угла документа (либо относительный, принимая за нуль текущие координаты левого верхнего угла), потому как при скроллинге максимальная позиция по "y" будет ограничиваться величиной, равной количеству пикселов доступных активному окну броузера. Иными словами, прокручиваю документ, а блок, который необходимо размещать возле курсора, замирает у некой предельной отметки выше курсора мыши.
Как решить эту проблему?
кстати, имей в виду что в Нетскейпе то же свойство обозначается как eventObj.x/eventObj.y
Цитата:
Originally posted by gufy
в Opera и IE по-разному выдается положение мышки на экране. Поля window.event.x и window.event.y в Opera включает в себя положение скроллинга,в IE - нет.
кстати, имей в виду что в Нетскейпе то же свойство обозначается как eventObj.x/eventObj.y
в Opera и IE по-разному выдается положение мышки на экране. Поля window.event.x и window.event.y в Opera включает в себя положение скроллинга,в IE - нет.
кстати, имей в виду что в Нетскейпе то же свойство обозначается как eventObj.x/eventObj.y
Мне надо, чтобы работало в IE - проект не будет выставляться в Net. Второй день бьюсь, ничего толкового не получается. Может быть, в Эксплорере есть какой-нибудь альтернативный подход к решению этой задачи? Может как-нибудь суммировать текущее положение при скроллинге с предельным значением, определяемым размером окна, при этом определить, что курсор уже ниже этого самого значения, или еще как?
<html><head>
<script language="JavaScript" type="text/javascript">
function doIt() {
document.all("kartina").style.top=event.y+document.body.scrollTop;
document.all("kartina").style.left=event.x+document.body.scrollLeft;
}
</script>
</head>
<body onmousemove="doIt();">
</body>
</html>
скрипт под NS и Mozilla совместимых..
<html><head>
<script language="JavaScript" type="text/javascript">
function doIt(e) {
document.getElementById("kartina").style.top=e.pageY; document.getElementById("kartina").style.left=e.pageX;
}
document.onmousemove = doIt;
</script>
</head>
<body>
</body>
</html>
Под старыми NS не пойдет, подругому стили назывались (sheets) и все такое прочее, впадлу было подо все лабать )) по-моему достаточно..
Ты мне действительно очень помог. Я довольно долго провозился с решением этой задачи и, в результате, пришлось создавать альтернативное решение. Которое я сейчас с удовольствием отбросил в пользу предыдущей задумки:) Еще раз спасибо.
http://www.mozilla.org/docs/web-developer/ - Майкрософтовский DOM и прочее..
http://msdn.microsoft.com/workshop/author/dhtml/dhtml_node_entry.asp
- Описания поддержки css, js и прочего для mozilla-подобных браузеров..
http://www.opera.com/docs/specs/ - то же самое, только для opera..
Лучше родных ман`ов не бывает.. Любые переводы, собственные переводы и прочее ой как далеки от истины.. И я считаю прочтение частных манулов только вредит твоим знаниям, а не помогает тебе.. Так что лезь сюда и читай) Если что - запасись каким-нить Стилусом или чем там еще.. Чтоб писать работоспособные сайты, нужно знать, как их переваривают самые популярные брузлы.. Помоему этих трех семейств, Ie, Mozilla, Opera, хватит с головой для сайта любой важности.. Ну, если только еще под линухи сыскать манпаги..)
http://msdn.microsoft.com/workshop/author/dhtml/dhtml_node_entry.asp
- Описания поддержки css, js и прочего для mozilla-подобных браузеров..
http://www.opera.com/docs/specs/ - то же самое, только для opera..
Лучше родных ман`ов не бывает.. Любые переводы, собственные переводы и прочее ой как далеки от истины.. И я считаю прочтение частных манулов только вредит твоим знаниям, а не помогает тебе.. Так что лезь сюда и читай) Если что - запасись каким-нить Стилусом или чем там еще.. Чтоб писать работоспособные сайты, нужно знать, как их переваривают самые популярные брузлы.. Помоему этих трех семейств, Ie, Mozilla, Opera, хватит с головой для сайта любой важности.. Ну, если только еще под линухи сыскать манпаги..)