Удаление классов в одном элементе, когда класс добавлен в другой элемент через jQuery - PullRequest
0 голосов
/ 06 октября 2019

Я использую jQuery для переключения классов при повторении (он включает анимацию в одну секунду каждые 5 секунд), но мне нужно, чтобы повтор был остановлен, когда другой элемент получает класс, добавленный к нему через jQuery.

Я пробовал в jQuery if () и больше смотрел на делегирование событий, но не уверен, что это правильный путь, так как это не событие click. Отдельный элемент «trigger» получает «активный» класс, когда страница прокручивается в этот раздел - это когда мне нужно, чтобы анимация остановилась и больше не воспроизводилась.

Это анимация в одну секунду, которая повторяется каждые5 секунд (я использую этот код в WordPress, поэтому использую «jQuery» вместо «$»)

setInterval(function(){ 

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

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

},5000);

Это код, который я пытался использовать без удачи. «Активный» класс динамически добавляется через тему, когда страница прокручивается в этот конкретный разделдобавил к нему. Вместо этого в DOM ничего не происходит, если удалить класс. Я даже попытался добавить новый класс с именем «stop», который приостановил бы все анимации (поскольку он в CSS), но все равно не повезло.

1 Ответ

0 голосов
/ 06 октября 2019

ToggleClass добавит и удалит класс в указанный селектор. но в вашем случае вы не хотите, чтобы тумблер вступил в силу, если к элементу привязки добавлен активный класс. В этом случае вы можете проверить, существует ли активный класс в теге привязки, а затем применить класс переключения.

setInterval(function(){ 
if (!jQuery('.featBrands a').hasClass( "active" )) {
jQuery(".featBrands").toggleClass("animated bounce"); 
setTimeout(function(){

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

},5000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...