Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Повторное применение click функции (https://javascript.ru/forum/dom-window/63515-povtornoe-primenenie-click-funkcii.html)

nklf-367 12.06.2016 13:32

Повторное применение click функции
 
Приветствую.

По нажатию на input c классом search класс удаляется и вставляется другой(rotateImage), в котором другая картинка, которая начинает крутиться. Всё это нормально работает, но есть одна проблема: если нажимать на анимацию, то она повторяется и добавляется ещё одно вращение поверх. В итоге, если нажимать без остановки, то появляется куча изображений с новым классом. Кусок кода:
$('.search').click(function() {
		$(this).addClass('rotateImage').removeClass('search').show(350);
		
    var angle = 0;
    setInterval(function(){
    angle+=3;
    $(".rotateImage").rotate(angle);
    },10);

Почему срабатывает click, если я удаляю класс search. Т.е. цель, чтоб click не срабатывал после одного нажатия. Прошу помощи.

Rise 12.06.2016 13:42

nklf-367, $('.search').one('click', function() {

nklf-367 12.06.2016 13:46

Спасибо. Плохо учил матчасть(

Царь Леонид 12.06.2016 21:44

Я так думаю one здесь не подойдет, скорее всего речь идет о форме поиска и надо просто проверят hasClass, а не вешать одноразовый обработчик. Хотя не факт конечно:)

рони 12.06.2016 21:51

Цитата:

Сообщение от nklf-367
Почему срабатывает click, если я удаляю класс search

клик ставится на элемент, изменение класса на отмену клика никак не влияет.


Часовой пояс GMT +3, время: 20:09.