Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery mouseenter和mouseleave fadeTo防止延迟重复_Javascript_Jquery_Mouseenter_Mouseleave_Fadeto - Fatal编程技术网

Javascript jQuery mouseenter和mouseleave fadeTo防止延迟重复

Javascript jQuery mouseenter和mouseleave fadeTo防止延迟重复,javascript,jquery,mouseenter,mouseleave,fadeto,Javascript,Jquery,Mouseenter,Mouseleave,Fadeto,所以,我有一个div,在鼠标进入时向上淡入,在鼠标移动时向下淡入,效果很好 $('.myDiv').mouseenter(function(){ $(this).fadeTo('slow', 1); }); $('.myDiv').mouseleave(function(){ $(this).fadeTo('slow', 0.4); }); 看 但是,如果快速来回移动鼠标几次,div将在动画继续运行时“闪烁”。有没有办法阻止这种情况发生 我尝试过回调,但没有达到预期效果 有什么建议吗 试试看

所以,我有一个div,在鼠标进入时向上淡入,在鼠标移动时向下淡入,效果很好

$('.myDiv').mouseenter(function(){
$(this).fadeTo('slow', 1);
});

$('.myDiv').mouseleave(function(){
$(this).fadeTo('slow', 0.4);
});

但是,如果快速来回移动鼠标几次,div将在动画继续运行时“闪烁”。有没有办法阻止这种情况发生

我尝试过回调,但没有达到预期效果

有什么建议吗

试试看:

$('.myDiv').mouseenter(function(){
    $(this).stop();
    $(this).fadeTo('slow', 1);

});
$('.myDiv').mouseleave(function(){
    $(this).stop();
    $(this).fadeTo('slow', 0.4);
});
试试:

$('.myDiv').mouseenter(function(){
    $(this).stop();
    $(this).fadeTo('slow', 1);

});
$('.myDiv').mouseleave(function(){
    $(this).stop();
    $(this).fadeTo('slow', 0.4);
});

更好的方法是使用CSS。 Javascript不应该用于此类动画,因为它会使您的网站变慢。 请参见下面的示例

.fade{
背景色:红色;
宽度:200px;
高度:200px;
不透明度:0.4;
过滤器:alpha(不透明度=40);/*适用于IE8及更早版本*/
过渡:不透明度。25秒缓进缓出;
-moz过渡:不透明度。25秒缓进缓出;
-webkit过渡:不透明度。25秒易入易出;
光标:指针;
}
.消失:悬停{
不透明度:1;
}

更好的方法是使用CSS。 Javascript不应该用于此类动画,因为它会使您的网站变慢。 请参见下面的示例

.fade{
背景色:红色;
宽度:200px;
高度:200px;
不透明度:0.4;
过滤器:alpha(不透明度=40);/*适用于IE8及更早版本*/
过渡:不透明度。25秒缓进缓出;
-moz过渡:不透明度。25秒缓进缓出;
-webkit过渡:不透明度。25秒易入易出;
光标:指针;
}
.消失:悬停{
不透明度:1;
}

虽然使用CSS通常是我的首选,这是一个很好的回答,但从技术上讲,这个问题的范围是基于javascript或jquery的,因此如果将来有人看到这个问题,则会将另一个答案标记为正确。然而,我可能会使用这个版本!另外,对于其他正在寻找此方法的人,如果您想在将鼠标悬停在原始div上时使用CSS更改不同元素的不透明度,请将此方法与组合使用,尽管使用CSS通常是我的首选选项,这是一个很好的响应,从技术上讲,这个问题的范围是基于javascript或jquery的,因此如果将来有人考虑这个问题,那么另一个答案将被标记为正确。然而,我可能会使用这个版本!另外,对于其他正在寻找此方法的人,如果您希望在将鼠标悬停在原始div上时使用CSS更改不同元素的不透明度,请将此方法与