Нужна помощь с показом и сокрытием div - PullRequest
2 голосов
/ 30 декабря 2010

У меня проблема с программой просмотра изображений, которую я создаю. Как и на изображении ниже, «окно» - это то место, где показано изображение, а «пейджинг» - то, где пользователь может изменить изображение. Я использовал этот сценарий Jquery, чтобы заставить «пейджинг» исчезать всякий раз, когда окно наведено - для начала скрыто. Хотя, когда пользователь наводит курсор на «пейджинг», он мигает. (Как показывает, то скрывает и т. Д.)

Полагаю, это потому, что мышь больше не зависает над окном. Кто-нибудь может подсказать, как я могу заставить «пейджинг» продолжать показывать? Спасибо за помощь! :)

$(".window").hover(function() {
    $(".paging").fadeIn('fast');
}, function() {
    $(".paging").fadeOut('fast');
});

alt text

Ответы [ 3 ]

3 голосов
/ 30 декабря 2010

Вы можете использовать .stop() здесь и включить оба в ваш .hover() селектор, например так:

$(".window, .paging").hover(function() {
    $(".paging").stop(true, true).fadeIn('fast');
}, function() {
    $(".paging").stop(true, true).fadeOut('fast');
});

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

0 голосов
/ 30 декабря 2010

На самом деле, когда вы наводите указатель мыши на пейджинг, происходит волшебная вещь, которая называется " event bubbling ": событие "hover" передается в контейнер, который является родителем объект "зависания" и т. д. до объекта "документ".

Итак, чтобы решить вашу проблему, вам нужно прекратить пузыриться, вы можете сделать это с помощью «return false»:

$(".paging").hover(function() {
    return false;
}, function() {
    return false;
});

(Возможно, в последней версии jquery вы можете заменить аргумент function () {return false;} просто false .)

0 голосов
/ 30 декабря 2010

Вы можете попробовать использовать mouseover и mouseout.Я не уверен, что mouseout отреагирует так же, как hover.

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