#jquery #image #html #hover #hide
#jquery #изображение #HTML #наведите #скрыть
Вопрос:
Хорошо, я прочитал множество подобных вопросов, но не нашел ответа на свой конкретный вопрос. На моем сайте у меня есть список изображений, которые увеличиваются при наведении, и рядом с этим изображением появляется div, показывающий, какой это тип изображения. При наведении курсора мыши div исчезает, и изображение возвращается к своему предыдущему состоянию. Все работает нормально, если я медленно навожу курсор на изображения одно за другим, но когда я навожу курсор на несколько изображений довольно быстро, все элементы управления появляются и остаются видимыми, даже если изображение больше не наведено. Итак, мой вопрос заключается в следующем: как мне настроить его так, чтобы даже при быстром наведении курсора на изображения дивы исчезали?
$("ul.graphThumbs li").hover(function() {
$(this).find(".graphInfo").css({"z-index":"9999"}).hide().delay(300).fadeIn(700);
},function(){
$(".graphInfo").hide();
});
Тогда мне нужно что-то вроде if ("ul.graphThumbs li")
не зависает (".graphInfo").hide()
. так что (".graphInfo")
это может быть показано только в том случае, если некоторые из ("ul.graphThumbs li")
них наведены.
Надеюсь, я был достаточно ясен.
Комментарии:
1. Я бы рекомендовал не быть таким расплывчатым в вашем селекторе скрытия. Убедитесь, что вы используете то же
find()
самое при скрытии, что и при показе.
Ответ №1:
используйте css
div.about{display:none;}
img:hover div.about{display:block;}
в качестве краткого примера
http://jsfiddle.net/lastrose/ssHRd /
если вы хотите придерживаться jquery, .stop() и очистите очередь перед запуском другой анимации.
$("ul.graphThumbs li").stop(true)
Ответ №2:
$("ul.graphThumbs li").hover(function() {
$('.graphInfo').stop(true);
$(this).find(".graphInfo").css({"z-index":"9999"}).hide().delay(300).fadeIn(700);
},function(){
$(".graphInfo").hide();
});