Jquery 如果我快速移动鼠标,如何停止对角线衰减?

Jquery 如果我快速移动鼠标,如何停止对角线衰减?,jquery,jquery-plugins,jquery-animate,Jquery,Jquery Plugins,Jquery Animate,我有以下代码,但如果我移动鼠标真的很快,图像仍然会不断淡入淡出 stop()在我使用animate()时有效,但当我使用这个插件时,它不起作用 $('.person a').live('mouseenter', function() { $($(this).children('.overstate')).stop().diagonalFade({ time: 350, fadeDirection_x: 'left-right', fadeDirection_y:

我有以下代码,但如果我移动鼠标真的很快,图像仍然会不断淡入淡出

stop()
在我使用
animate()
时有效,但当我使用这个插件时,它不起作用

$('.person a').live('mouseenter', function() {
    $($(this).children('.overstate')).stop().diagonalFade({
    time: 350,
    fadeDirection_x: 'left-right',
    fadeDirection_y: 'top-bottom',
    fade: 'out'
    });
}).live('mouseleave', function() {
    $($(this).children('.overstate')).stop().diagonalFade({
    time: 350,
    fadeDirection_x: 'left-right',
    fadeDirection_y: 'top-bottom',
    fade: 'in'
    });
});
html

我想这样的东西可能会起作用,但如果我把鼠标移到上面几次,它就会一直闪烁

$('.person a').live('mouseenter', function() {
  if (!$(this).children('.overstate').hasClass('animated')) {

     $($(this).children('.overstate')).stop().diagonalFade({
     time: 450,
     fadeDirection_x: 'left-right',
     fadeDirection_y: 'top-bottom',
     fade: 'out'
    });

  }
  }).live('mouseleave', function() {
      $($(this).children('.overstate')).addClass('animated').stop().diagonalFade({
      time: 450,
      fadeDirection_x: 'left-right',
      fadeDirection_y: 'top-bottom',
      fade: 'in',
      complete: function() { $('.person a').children('.overstate').removeClass('animated'); }
 });

}))

恐怕单一解决方案可能是这样的:

    <script>
    var inactive = 1;
    $(document).ready(function(){
        $('.person a').live('mouseenter', function(e) {
            if(inactive==1){
                inactive = 0;
                $($(this).children('.overstate')).stop().diagonalFade({
                time: 350,
                fadeDirection_x: 'left-right',
                fadeDirection_y: 'top-bottom',
                fade: 'out',
                complete:function(){
                    inactive=1; 
                }

                });
            }
        })
        $('.person a').live('mouseleave', function() {

                inactive = 0;
                $($(this).children('.overstate')).stop().diagonalFade({
                time: 350,
                fadeDirection_x: 'left-right',
                fadeDirection_y: 'top-bottom',
                fade: 'in',
                complete: function(){
                inactive=1; 

                }
            });

        });
})

</script>

var=1;
$(文档).ready(函数(){
$('person a').live('mouseenter',function(e){
如果(非活动==1){
不活跃=0;
$($(this.children('.overstate')).stop().diagonalFade({
时间:350,
fadeDirection_x:'左-右',
fadeDirection_y:'上下',
淡出,
完成:函数(){
不活跃=1;
}
});
}
})
$('.person a').live('mouseleave',function(){
不活跃=0;
$($(this.children('.overstate')).stop().diagonalFade({
时间:350,
fadeDirection_x:'左-右',
fadeDirection_y:'上下',
淡入,
完成:函数(){
不活跃=1;
}
});
});
})

jQuery提示:
$($(this).children('.overstate')).stop()是多余的。您只需调用
$(this).children('.overstate').stop()

和css,当我将鼠标移到span.overstate上时,您的整个代码将不透明度:0,插件为对角淡入淡出,并显示出来。每个人的非活动标志是否唯一。a?因为当我从一个人a转到另一个人时,is不起作用,而且我相信存在问题Nikos,如果您想为每个.person保留一个标志,您可以使用$(“.person a”).data(“inactive”,1)或$(“.person a”).data(“inactive”)来检索它。
$('.person a').live('mouseenter', function() {
  if (!$(this).children('.overstate').hasClass('animated')) {

     $($(this).children('.overstate')).stop().diagonalFade({
     time: 450,
     fadeDirection_x: 'left-right',
     fadeDirection_y: 'top-bottom',
     fade: 'out'
    });

  }
  }).live('mouseleave', function() {
      $($(this).children('.overstate')).addClass('animated').stop().diagonalFade({
      time: 450,
      fadeDirection_x: 'left-right',
      fadeDirection_y: 'top-bottom',
      fade: 'in',
      complete: function() { $('.person a').children('.overstate').removeClass('animated'); }
 });
    <script>
    var inactive = 1;
    $(document).ready(function(){
        $('.person a').live('mouseenter', function(e) {
            if(inactive==1){
                inactive = 0;
                $($(this).children('.overstate')).stop().diagonalFade({
                time: 350,
                fadeDirection_x: 'left-right',
                fadeDirection_y: 'top-bottom',
                fade: 'out',
                complete:function(){
                    inactive=1; 
                }

                });
            }
        })
        $('.person a').live('mouseleave', function() {

                inactive = 0;
                $($(this).children('.overstate')).stop().diagonalFade({
                time: 350,
                fadeDirection_x: 'left-right',
                fadeDirection_y: 'top-bottom',
                fade: 'in',
                complete: function(){
                inactive=1; 

                }
            });

        });
})

</script>