jquery постепенно исчезает: нет

Почему мой jQuery не работает. Если я заменю Out на In и None на Inline, он будет хорошо отображаться, но не исчезнет. Любые идеи?

$(this).find(".hover").fadeOut("slow").css({display:"none"});

person pjiorwierjog    schedule 01.03.2011    source источник


Ответы (2)


Проблема в .css({ display : 'none' }), вам не нужен этот код, так как fadeOut скроет его после завершения. Попробуйте использовать этот код:

$(this).find(".hover").fadeOut("slow");

Или, если вам нужно скрыть... Попробуйте этот код (второй параметр fadeOut - это функция обратного вызова, которая запускается ПОСЛЕ завершения fadeOut)

$(this).find(".hover").fadeOut("slow", function () {
    $(this).css({display:"none"});
});
person McHerbie    schedule 01.03.2011
comment
Первый работал нормально, я думал об этом, но я думал, что он удалит класс со страницы, чтобы он не добавлял его снова при наведении курсора. - person pjiorwierjog; 01.03.2011

$(document).ready(function(){
     $(".hover").fadeOut("slow", function(){
              alert("fadeout complete!!!");
     });
});

это должно работать, не проверял, хотя только что закодировал его. Как сказал Макхерби, когда затухание выполнено, для свойства display устанавливается значение none. Я тоже не понимаю, почему вы используете find.

person Josh Bedo    schedule 01.03.2011
comment
OP использует find только для получения элементов с классом 'hover', которые являются дочерними элементами this (что бы ни было this). - person Rocket Hazmat; 01.03.2011
comment
Именно то, что сказал Ракета. Я предполагаю, что вы предлагали сделать это: $(".hover").fadeIn("slow") но тогда, если бы у меня было 2 или более на странице, они все исчезли бы, когда я хочу, чтобы исчез только один - person pjiorwierjog; 01.03.2011