обработка событий мыши jQuery - PullRequest
0 голосов
/ 28 апреля 2011

У меня есть следующий код:

HTML:

<div class="one">Content</div>
<div class="two">Content</div>

Я хочу скрыть мое второе div, когда mosueleave событие происходит с первого div, а также мышь не имеет более секунды div.

Алгоритм:

if ((mouseleave from div.one) && (mouse not on div.two))
     hide (div.two);

Как реализовать этот фрагмент с помощью jquery? Помогите мне, пожалуйста.

Ответы [ 2 ]

2 голосов
/ 28 апреля 2011

Вы можете установить флаг в .two div, который отслеживает состояние наведения мыши. Затем, когда мышь покидает .one, вы проверяете это состояние и, если оно существует, вы скрываете div. Вот так:

$(".two").live("mouseenter", function(){
    $(this).data("hover", true);
}).live("mouseleave", function(){
    $(this).removeData("hover");
});

$(".one").live("mouseleave", function(){
  if( !$(".two").data("hover") ) $(".two").hide();
});
1 голос
/ 28 апреля 2011

заключают оба div в другое, скажем, div class='zero'.так что у вас будет что-то в вашем $(document).ready() как

$('.zero').live('hover', function() {
  $('.two').show();
});

$('.zero').live('blur', function() {
  $('.two').hide();
});

примечание: вы должны style="display: none" для div class='two' по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...