iborisbelov
@iborisbelov
Веб-дизайнер, UX\UI

Как с помощью JS сделать поворот?

Доброго дня.

Пытаюсь сделать лишь один поворот картинки с помощью JS

Оригинал тут: jsfiddle.net/JydNZ/51

$(document).ready(function(){
    $('#icon').toggle(function(){
        $(this).css("-webkit-transform","rotate(360deg)");
    }, function(){
        $(this).css("-webkit-transform","rotate(90deg)");
    });
});


Нужно поправить этот код так, чтобы при повторном нажатии картинка не поворачивалась обратно, а при повторном нажатии цикл повторялся (то есть картинка должна при нажатии поворачиваться на 360 градусов)

Буду очень благодарен, ибо вроде задача простейшая, а из этого кода не могу сделать.
  • Вопрос задан
  • 4718 просмотров
Пригласить эксперта
Ответы на вопрос 4
@maxloyko
$(document).ready(function(){
    var i = 1
    $('#icon').click(function(){
       $(this).css("-webkit-transform","rotate("+i*360+"deg)");
       i++;
    });
});
Ответ написан
Предложу сделать css анимацию вместо использования js
.target:hover,
.target:active{
animation: rotate 0.5s ease-in-out;
}
keyframes rotate{
to{
transform:rotate(360deg);
}
}
Ответ написан
IonDen
@IonDen
JavaScript developer. IonDen.com
Как то так: jsfiddle.net/IonDen/o4kbgvoy
$(document).ready(function(){
    $('#icon').on('click', function(){
        var $this = $(this);
        
        if ($this.hasClass('animated')) {
            return;
        }
        
        $this.addClass('animated');
        $this.css("transform","rotate(360deg)");
        
        setTimeout(function () {
            $this.removeClass('animated');
            $this.css("transform","rotate(0deg)");
        }, 800);
    });
});


CSS:
#icon{
    overflow:hidden;
}
.animated {
    -webkit-transition-duration: 0.8s;
    -moz-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    transition-duration: 0.8s;

    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
    transition-property: transform;    
}
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
При каждом нажатии +90°
jsfiddle.net/1qzxnabg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы