我有一组图像有问题.我的目的是在您悬停缩略图时显示相关图像,并在您滚动图像时隐藏它.问题是我需要在模块设计的悬停上加上延迟(),有3列,很难到达中间列的图像.此延迟使悬停排队,显示其他与您悬停的其他拇指相关的图像.这是标记:
<ul id="module">
<li>
<a href="#">
<img src="thumbnail-image-1.jpg">
<img src="image-1.jpg">
</a>
</li>
<li>
<a href="#">
<img src="thumbnail-image-2.jpg">
<img src="image-2.jpg">
</a>
</li>
...
</ul>
这是js:
$('#module li a').each(function(i){
$_imgs = $(this).find('img');
$_imgs.eq(0).mouseover(function() {
$(this).next().delay(800).fadeIn('slow');
});
$_imgs.eq(1).mouseout(function() {
$(this).fadeOut('slow');
});
});
我认为解决方案来自于放置一个unbind()……
谢谢.
最佳答案 我将.tn类添加到缩略图中,但如果需要,可以将其更改为.eq解决方案.
Javascript(需要jQuery 1.7)
$(function(){
var timeout = false;
$('#module > li').on('hover', 'a', function(e){
var $elem = $(this).find('.tn');
if(e.type == 'mouseenter'){
timeout = setTimeout(function(){
$elem.fadeIn();
}, 800);
}
else{
timeout && clearTimeout(timeout);
$elem.stop().fadeOut();
}
});
});
看到它在这里工作:
http://jsfiddle.net/aX836/