Jump to content
  • 0

Как определить наведен/отведен курсор на объекте


scrache
 Share

Question

Дело в том что бывают часто случается такое что мышь за секунду проделывает тучу пересечений границ объектов и не успевает реагировать на каждое.

к примеру при наведение ставим плавное зажигание ячейки, при отведении затухание. иногда мышь проходитч через ячейку, она загорается но не тухнет.

с проблемами такого плана я сталивался неоднократно, прмходилось избавляться от задумок..

оотого вопрос. как мне зделать интервал который проверял, наведена ли в данный момент мышь на эту ячейку, если тру то одно, если фолс то другое.

......лучше бы был ответ...

заранее спасибо..

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

scrache, не нужно умножать лишние сущности. По onmouseover-у вывешивайте на элементе флаг "наведен", по onmouseout-у на этом же элементе (это важно, тут подробности — http://archives.maillist.ru/13159/484886.html) этот флаг сбрасывайте, в ф-ции, вызываемой по таймеру (которая и отвечает за анимацию), этот флаг проверяйте.

Nekromancer, и что нам даст проверка наличия у элемента свойств-обработчиков? :lol:

Link to comment
Share on other sites

  • 0
А кроссбраузерный вариант уже не так прост... B)

Разве?

<div id="me">Виновник торжества</div>

<script type="text/javascript">
document.onmousemove=function(evnt){
ev = (evnt) ? evnt : window.event;
var sender = (ev.srcElement) ? ev.srcElement : ev.target;
if(document.getElementById('me')==sender){alert('Попался!');} };
</script>

Link to comment
Share on other sites

  • 0
SelenIT, Styx (Стух O_o ?), всё гораздо проще.

document.onmousemove=function(event){if(document.getElementById('me')==(event?event.target:window.event.srcElement)){alert('Попался!')}}

Если уж доводить до маразма, то можно еще "проще"

document.onmousemove=function(event){if(document.getElementById('me')==(event.target||window.event.srcElement)){alert('Попался!')}}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy