首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过jQuery将类添加到另一个元素时,删除另一个元素上的类

问通过jQuery将类添加到另一个元素时,删除另一个元素上的类
EN

Stack Overflow用户
提问于 2019-10-06 09:55:42
回答 1查看 36关注 0票数 0

我使用jQuery将类切换为repeat (它每隔5秒打开和关闭一秒动画),但当另一个元素通过jQuery向其添加类时,我需要停止repeat。

我尝试了jQuery的if(),并进一步研究了事件委托,但不确定这是否是正确的路径,因为这不是一个单击事件。当页面滚动到该部分时,单独的"trigger“元素将获得一个”活动“类-这是我需要动画停止并且不再播放的时候。

这是每5秒重复一次的一秒动画(我在WordPress中使用此代码,所以使用"jQuery“而不是"$")

代码语言:javascript
复制
setInterval(function(){ 

   jQuery(".featBrands").toggleClass("animated bounce"); 
   setTimeout(function(){

     jQuery(".featBrands").toggleClass("animated bounce"); 
   },1000);

},5000);

这是我一直在尝试使用的代码,但没有成功。当页面滚动到此特定部分时,将通过主题动态添加"active“类

代码语言:javascript
复制
if (jQuery('.featBrands a').hasClass( "active" )) {

  jQuery(".featBrands").removeClass("animated bounce");
}

我预计只要里面的锚元素添加了"active“,”动画反弹“就会被移除。相反,只要类被删除,DOM中就不会发生任何事情。我甚至尝试添加一个名为"stop“的新类来暂停所有动画(因为它是用CSS编写的),但仍然没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-06 13:07:40

ToggleClass会在指定的选择器中添加和删除类。但是在本例中,如果在锚元素中添加了活动类,则不希望切换生效。在这种情况下,您可以检查锚标签中是否存在活动类,然后应用切换类。

代码语言:javascript
复制
setInterval(function(){ 
if (!jQuery('.featBrands a').hasClass( "active" )) {
jQuery(".featBrands").toggleClass("animated bounce"); 
setTimeout(function(){

 jQuery(".featBrands").toggleClass("animated bounce"); 
 },1000);
}

},5000);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58253684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档