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>