类的jquery淡出,多次运行,而不是同时运行,y?
我有一个页面,上面有几个div,比如: 默认情况下,全部显示为:无,我让用户单击以显示某张卡 每次用户单击加载卡时,我都会运行以下JQUERY:类的jquery淡出,多次运行,而不是同时运行,y?,jquery,effects,fadeout,Jquery,Effects,Fadeout,我有一个页面,上面有几个div,比如: 默认情况下,全部显示为:无,我让用户单击以显示某张卡 每次用户单击加载卡时,我都会运行以下JQUERY: $('.carditem').fadeOut( function() {alert(1) // Animation complete show correct card $('#' + toogleID).fadeIn(); }); 让我吃惊的是,上面的警报发生了5次,而不是1次。这意味着淡出不是同时运行,而是在所有卡片项目上循环。这会产生闪烁的丑陋
$('.carditem').fadeOut( function() {alert(1)
// Animation complete show correct card
$('#' + toogleID).fadeIn();
});
让我吃惊的是,上面的警报发生了5次,而不是1次。这意味着淡出不是同时运行,而是在所有卡片项目上循环。这会产生闪烁的丑陋动画。如何使所有匹配的类同时运行?或者只在显示div的类上运行,应该只有一张卡
谢谢 如果您发出停止动画(导致偏移启动)的警报,它将按预期运行,至少在初始动画同步方面是这样的:
$('.carditem:visible').fadeOut( function() {
$('#' + toogleID).fadeIn();
});
每个元素都独立设置动画,如果希望在最后一个元素之后设置动画,请检查是否仍有任何元素使用和设置动画,如下所示:
$('.carditem:visible').fadeOut( function() {
if(!$('.carditem').is(':animated')) //are any still animating?
$('#' + toogleID).fadeIn();
});
对选择器的添加是为了使只有可见的部分淡出,而不是显示/淡出所有这些部分。这似乎不起作用$('.carditem:visible').fadeOut(函数()…由于某种原因,显示fadesOut@nobosh-你可以添加
:visible
,稍等片刻,我会更新。奇怪的是,它仍然会淡出,然后会像上面在最新JQUERY中使用的那样被支持吗?@nobosh-是的,它已经存在了一段时间了…你在隐藏元素?.fadeOut()
完成后将设置显示:无;
,但问题之外是否还有其他问题?