Jquery .hover -闪烁图像
Jquery .hover - flickering image
我在jQuery中为以下测试页面设置了一个。hover()函数:
正如你将看到的,当你把鼠标移到产品图像上时,我想要出现的叠加会闪烁。有什么想法吗?我能做些什么来解决这个问题?它是否与我应用于图像的jQuery周期插件有关?
$("#productImage_1").hover(
function() {
$('#product_1').show();
},
function() {
$('#product_1').hide();
}
);
问题很可能是,一旦覆盖出现,您不再悬停#productImage_1
。你现在悬停在#product_1
。这创建了一个无限循环的出现和消失(闪烁)。
$("#productImage_1, #product_1").hover(function() {
$('#product_1').show();
}, function() {
$('#product_1').hide();
});
问题发生是因为.productOverlay
被显示在#product_1的顶部,因此mouseleave
事件被触发,因此,它再次被隐藏。
e.target
元素,并查看它是否覆盖。比如:$("#productImage_1").hover(function(e) {
$('#product_1').show();
}, function(e) {
// Prevent execution if it's the overlay that is being targeted
if (e.target.className == 'productOverlay')
return;
// Otherwise, hide!
$('#product_1').hide();
});
编辑:我鼓励人们尽可能多地使用普通JS;因此,使用className
而不是像$(e.target).hasClass()
这样做。为什么?性能!随后,随着应用程序变得越来越大,您将不得不关注事件及其执行情况;尤其是鼠标相关的事件。您希望避免事件中的长时间运行代码,因此使用本机解决方案:-)
相关文章:
- 如何使用按键避免图像闪烁
- 使用setInterval()函数进行图像闪烁
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- 悬停时setInterval中的图像闪烁
- 按下按钮时图像持续闪烁
- jQuery图像在悬停时闪烁
- 当使用MouseEvent将图像更改为其他图像时,如何避免闪烁
- 正在创建随机图像闪烁
- iOS 8中滚动时的背景图像闪烁问题
- Javascript-使图像出现,然后将其替换为另一个图像(闪烁)
- 如何在渲染Backbone视图时防止图像闪烁
- 无法使图像闪烁(得到)预期的错误
- 鼠标经过时图像闪烁
- Skrollr图像闪烁.Firefox预加载问题
- 防止在src更改时出现大图像闪烁
- 如何在Javascript中使图像闪烁和重叠
- 图像闪烁然后消失
- 图像闪烁ajax轮询
- 使用图像映射时,鼠标悬停上的图像闪烁javascript
- 从本地主机加载时图像闪烁