Как остановить анимацию поворота jQuery? - PullRequest
2 голосов
/ 17 марта 2011

Я работаю над аудиоплеером (проигрывателем) на основе плагина jplayer и использую свойство rotate для div:

setInterval(    
    function () {
        $('#plateau').animate({
            rotate: '+=4deg'
        }, 0);
    },
    3);

Во-первых, я хотел бы остановить вращениекогда пользователь нажимает на другое деление.

Во-вторых, я хотел бы остановить вращение с ограничением максимальной степени.

Большое спасибо.

Ответы [ 4 ]

5 голосов
/ 17 марта 2011

хорошо для одной вещи установите setInterval равным var:

var timer = setInterval(...)

, чем вы можете остановить его с помощью:

clearInterval(timer)

, а затем, чтобы остановить анимацию, выполните:

$('#plateau').stop();
1 голос
/ 17 марта 2011

Дайте тайм-ауту переменную!

var timer = setTimeout(function(){ ... }, 0);

и когда вам нужно остановить его:

clearTimeout( timer );
0 голосов
/ 18 марта 2011

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

function rotation_bras(bras_rotation)
{
    /*var temps_actuel = $.jPlayer.convertTime(tt);*/ // Send the total time of the track
    // Begin position in degree 17deg
    // Maximum position in degree 40 deg
    // When a track is finish, the arm's turntable comeback at the initial position
    // The degree decalage should be depend to the total time of the track
    if(bras_rotation==true)
    {
        BrasTourne = setInterval(function(){$('#bras').animate({rotate: '+=0.1deg'}, 0);});
    }
    else {
        clearInterval(BrasTourne);
        $('#bras').stop();
    }
}

Еще раз спасибо

0 голосов
/ 17 марта 2011

setInterval возвращает значение. Сохраните его, а затем вызовите clearInterval с этой переменной в качестве параметра

toto = setInterval(function(){…})
…
clearInterval(toto)

clearInterval остановит обычное выполнение функции

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