我不是Jquery专家,但是采用了一个模板,它现在可以工作,但是试图对其进行修改,以便任何添加的延迟类稍后会再次延迟消失。
此代码正确应用了动画'具有数据延迟ms延迟的类,但希望它删除动画'数据输出ms以后的类 - 尝试将队列链接在一起但没有工作 - 基本代码应用了动画'如下所示。
jQuery('.sr-animation').each(function() {
if (jQuery(window).width() > 700) {
var visible = jQuery(this).visible(true);
var indelay = jQuery(this).attr("data-indelay");
var outdelay = jQuery(this).attr("data-outdelay");
if (!indelay) { indelay = 0; }
if (!outdelay){ outdelay = 0; }
if (jQuery(this).hasClass( "animated" )) {
} else if (visible) {
jQuery(this).delay(indelay).queue(function(){jQuery(this).addClass('animated')});
}
} else {
jQuery(this).addClass('animated');
}
});
感谢任何帮助,因为我不在这里。
答案 0 :(得分:0)
我认为我找到了一个解决方案..不确定dequeue()是什么,但似乎工作 - 这个类随后消失了 - 只是我不认为它在'outdelay'时间段内做到了.. < / p>
jQuery('.sr-animation').each(function() {
if (jQuery(window).width() > 700) {
var visible = jQuery(this).visible(true);
var indelay = jQuery(this).attr("data-indelay");
var outdelay = jQuery(this).attr("data-outdelay");
if (!indelay) { indelay = 0; }
if (!outdelay){ outdelay = 0; }
var duration = outdelay-indelay;
if (jQuery(this).hasClass( "animated" )) {
} else if (visible) {
jQuery(this).delay(indelay).queue(function(){jQuery(this).addClass('animated').dequeue()});
if(outdelay>0) { jQuery(this).delay(outdelay).queue(function(){jQuery(this).removeClass('animated')}); }
}
} else {
jQuery(this).addClass('animated');
}
});