Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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-翻转时淡入淡出闪烁_Javascript_Jquery - Fatal编程技术网

Javascript Jquery-翻转时淡入淡出闪烁

Javascript Jquery-翻转时淡入淡出闪烁,javascript,jquery,Javascript,Jquery,我正在使用下面的代码在其父div的滚动/滚动上实现fadeIn/fadeOut效果 $('.rollover-section').hover(function(){ $('.target', this).stop().fadeIn(250) }, function() { $('.target', this).stop().fadeOut(250) }) 当我翻滚div并缓慢取出时,它工作正常。但是,如果我将鼠标移动到div上,然后快速离开div,则会破坏效果。目标div的不

我正在使用下面的代码在其父div的滚动/滚动上实现fadeIn/fadeOut效果

$('.rollover-section').hover(function(){  
   $('.target', this).stop().fadeIn(250)
 }, function() {
   $('.target', this).stop().fadeOut(250)
})
当我翻滚div并缓慢取出时,它工作正常。但是,如果我将鼠标移动到div上,然后快速离开div,则会破坏效果。目标div的不透明度似乎在0到1之间

让我困惑的是,当我使用下面的代码时,它可以完美地工作

$('.rollover-section').hover(function(){  
  $('.target', this).stop().animate({
      opacity: 1
    }, 250);
}, function() {
  $('.target', this).stop().animate({
      opacity:0 
    }, 250);
})
所以,我有两个问题

1-为什么我的第一个代码块的行为是这样的


2-fadeIn()/fadeOut()和不透明度动画之间有什么区别?

我在这里的评论中给出了我的答案:


只需使用动画的例子,你有那里。请检查此处,以了解为什么淡入淡出动画的行为方式:

如前所述,这是因为这些修改了css并将显示更改为无。通过使用fadeTo,您可以获得相同的效果,但它不会修改css,因此应该可以正常工作

更新示例:

你也可以

$('.rollover-section').hover(function() {  
   $('.target', this).stop().fadeTo(0,250);
 }, function() {
   $('.target', this).stop().fadeTo(250,0,function(){$(this).hide();});
});

一旦它真正完成,你就可以自己完全隐藏它。

只需使用你那里的动画示例。在这里查看原因的答案:酷,谢谢。显示:无是一个有点讨厌。我想这些淡入淡出的功能从来都不是我想要的。有趣。我对jQuery的了解还不够,无法了解到底发生了什么,但我完全可以重现这个问题(。@Luwe将您的评论作为答案发布,以供接受。@Matt Gibson,尽管您可以使用fadeTo。我相信这会解决问题。