Jquery зависания проблемы исчезновения / исчезновения - PullRequest
3 голосов
/ 31 октября 2009

http://www.izrada -weba.com / Orso При наведении курсора на ссылку «NENATKRIVENA TERASA ...» подменю и изображение исчезают вместе. Подменю исчезает, используя какой-то загруженный скрипт, а изображение выше исчезает, используя мой код:

$(document).ready(function () {
   $("#slika1").hide();

  $("#test,#submenu2").hover(
      function () {
       $("#slika1").fadeIn();
      }, 
      function () {
         $("#slika1").fadeOut();
      }
    );       
});

Когда мышь находится над ссылкой, изображение исчезает, и когда мышь перемещается в подменю, изображение исчезает, а затем снова исчезает ... Я знаю, почему это так, но я не знаю, как сделать так, чтобы оно не исчезало, когда перемещение мыши прямо из ссылки в подменю. Есть ли какие-то решения для этого?

Спасибо, Ile

Ответы [ 2 ]

16 голосов
/ 31 октября 2009

Функция stop () остановит все запущенные в данный момент анимации для указанного элемента.
Попробуйте изменить функцию наведения мыши:

$("#slika1").stop().fadeIn();


Edit:
Кажется, есть проблема с подменю, которое не исчезает полностью (см. Комментарий ile). Мне кажется, что это ошибка JQuery, но я не уверен. Может быть, кто-то может вмешаться и объяснить, почему это происходит.
Чтобы обойти это, попробуйте использовать fadeTo (); кажется, чтобы получить желаемый результат:

$(document).ready(function () {
  $("#slika1").fadeTo(0,0);

  $("#test,#submenu2").hover(
    function () {
      $("#slika1").stop(true).fadeTo("normal",1);
    }, 
    function () {
      $("#slika1").fadeTo("normal",0);
    }
  );       
});
1 голос
/ 07 августа 2012

Проблема с fadeIn() не работает, когда fadeOut() прерывается, потому что fadeIn() работает, только если элемент скрыт. Называете ли вы это ошибкой или особенностью. Чтобы исправить это, вы можете сделать следующее.

$("#mydiv").stop().hide().fadeIn(450);
...