【发布时间】:2023-03-16 14:49:02
【问题描述】:
我正在使用 jquery 对网站的一部分进行编程,当您将鼠标悬停在一个按钮上时,它会隐藏一个特定的 div 并显示另一个,然后当鼠标离开它时,它会隐藏那个并显示原始的,而且效果很好,但是当您快速浏览按钮时,它会闪烁并开始显示所有 div(不隐藏一些)
我的代码:
function changeAddPanelText(element, element2) {
$(element).hover(function(){
$("#add-content-desc1").toggle();
$(element2).fadeIn(700);
},
function(){
$(element2).toggle();
$("#add-content-desc1").fadeIn(700);
});
}
有什么想法吗?谢谢
编辑:我将代码更新到当前版本。
【问题讨论】:
-
尝试使用
stop()或stop(1,1),更多信息请参见 jQuery API。 -
另一种行之有效的方法是将一个 div 隐藏在原来的下面。然后当您将鼠标悬停时,只需隐藏原始页面。这样就不会显示任何空白页面,只有两个图像。
-
我也遇到过类似的情况,
stop()可以帮助解决这个问题。看看这个stackoverflow.com/q/6224681/707636 -
发生这种情况是因为每次悬停时,动画都会触发,尝试使用 stop(1,1) 或将 1 更改为 0。我遇到了同样的问题,我不得不玩修复它的停止功能
-
在fadeIn() 之前使用了stop(1,1)
标签: javascript jquery html css flicker