我使用jQuery将类切换为repeat (它每隔5秒打开和关闭一秒动画),但当另一个元素通过jQuery向其添加类时,我需要停止repeat。
我尝试了jQuery的if(),并进一步研究了事件委托,但不确定这是否是正确的路径,因为这不是一个单击事件。当页面滚动到该部分时,单独的"trigger“元素将获得一个”活动“类-这是我需要动画停止并且不再播放的时候。
这是每5秒重复一次的一秒动画(我在WordPress中使用此代码,所以使用"jQuery“而不是"$")
setInterval(function(){
jQuery(".featBrands").toggleClass("animated bounce");
setTimeout(function(){
jQuery(".featBrands").toggleClass("animated bounce");
},1000);
},5000);这是我一直在尝试使用的代码,但没有成功。当页面滚动到此特定部分时,将通过主题动态添加"active“类
if (jQuery('.featBrands a').hasClass( "active" )) {
jQuery(".featBrands").removeClass("animated bounce");
}我预计只要里面的锚元素添加了"active“,”动画反弹“就会被移除。相反,只要类被删除,DOM中就不会发生任何事情。我甚至尝试添加一个名为"stop“的新类来暂停所有动画(因为它是用CSS编写的),但仍然没有成功。
发布于 2019-10-06 13:07:40
ToggleClass会在指定的选择器中添加和删除类。但是在本例中,如果在锚元素中添加了活动类,则不希望切换生效。在这种情况下,您可以检查锚标签中是否存在活动类,然后应用切换类。
setInterval(function(){
if (!jQuery('.featBrands a').hasClass( "active" )) {
jQuery(".featBrands").toggleClass("animated bounce");
setTimeout(function(){
jQuery(".featBrands").toggleClass("animated bounce");
},1000);
}
},5000);https://stackoverflow.com/questions/58253684
复制相似问题