Jquery повернуть, запустить на mouseenter, остановить на mouseout - PullRequest
1 голос
/ 01 марта 2012

делает некоторую анимацию jQuery для высокопрофильного клиента, которая должна быть завершена к обеду

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

Я использую плагин поворота Jquery http://code.google.com/p/jqueryrotate/wiki/Examples

У меня есть анимация при наведении мыши, но не могу, неткак бы я ни старался, заставить его перестать анимировать при помощи мыши - я сейчас перебираю интервалы, чтобы попытаться заставить его взаимодействовать - вот мой текущий код, что мне не хватает?!?!

    function rotation(){

    jQuery("#merm").rotate({angle:0, animateTo: 360, callback: rotation });
    }

    jQuery("#sirens").hover(
        function(){
        hoverInterval = setInterval(rotation, 1000);
        },
        function(){
            clearInterval(hoverInterval);
        }
    );

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 01 марта 2012
$(function(){
    var t;
    $("#sirens").mouseenter(function(){
        var angle = 0;
        t = setInterval(function(){
            angle+=3;
            $("#sirens").rotate(angle);
        },50);
    }).mouseleave(function(){
        clearInterval(t);
        $("#sirens").rotate(0);
    });
});

Посмотрите, как работает здесь: http://jsfiddle.net/t4MHp/1/

1 голос
/ 13 марта 2012

Просто краткая информация - новая версия jQueryRotate 2.2, выпущенная сегодня, поддерживает остановку анимации путем вызова .stopRotate () :) Надеюсь, это поможет в будущем

...