Класс отката после функции щелчка

0

У меня так много div внутри главного div, и трудно выбрать именно этот div. Предположим:

<div id="main">
  <div>
   <div></div>
   <div>
     <div>
       <div>
       <div class="myclass">
       </div>
.....
</div>

Таким образом, с моей разметкой я мог выбрать класс только с помощью: .myclass

Во-первых, я должен удалить класс myclass следующим образом: $('.myclass').removeClass('myclass');

Затем я должен добавить добавить тот же класс

Поэтому я пробовал вот так:

$('.thisclass').addClass('myclass').removeClass('thisclass');
$('.myclass').addClass('thisclass').removeClass('myclass');

Но внутри функции включения/выключения

Вы можете видеть в этой скрипке, которая не делает то, что я хочу.

Поэтому мой ключевой вопрос заключается в том, как я могу отбросить предыдущий класс после функции щелчка. Мне нужно удалить предыдущий класс и после щелчка.

точно так же, как mouseenter и mouseleave, но мне крайне необходимо после (щелчок)

Теги:

2 ответа

0
Лучший ответ

Вы имеете в виду что-то вроде этого:

$('#clickthis').on('click', function(){
    $('.thisclass').addClass('myclass').removeClass('thisclass');

//call this function later, after the 'click' event has been handled :
    setTimeout(function(){
        $('.myclass').addClass('thisclass').removeClass('myclass');
    }, 0);
});

Вы не должны использовать setTimeout, вы должны использовать complete обратный вызов функции .animate():

$(...).animate( ...,  function(){
    //this function will be called once the animation is finished

    $('.myclass').addClass('thisclass').removeClass('myclass');
    // add any action you want to take on animation end
})

Все функции эффекта jQuery (например: fadeIn, slideToggle и т.д.) Принимают complete обратный вызов.

  • 0
    подожду я проверю свой сайт.
  • 0
    нет, это не работает .... точно мой слайдер не имеет анимации сначала, когда происходит событие click, затем он должен анимировать влево и снова вызвать класс, который остановит анимацию.
Показать ещё 3 комментария
0

Может быть, это поможет вам

$('#clickthis').on('click', function(){
    $('.thisclass, .myclass').toggleClass('myclass thisclass');

});

проверьте здесь

  • 0
    НЕТ, это не та функция переключения, которая мне нужна, но при немедленном нажатии предыдущий класс должен вернуться снова.
  • 0
    это идет с предыдущим классом, как только я нажал, не получая то, что вы просите
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню