jquery spritefy пауза и перезапуск - PullRequest
1 голос
/ 27 сентября 2011

Я использую этот плагин: http://www.spritely.net/ Может кто-нибудь сказать мне, почему переменная $ sprite не выполняется повторно

function animate_header() {
    var $sprite = $('#header') 
        .sprite({
            fps: 30, 
            no_of_frames: 4,
            // the following are optional: new in version 0.6...
            start_at_frame: 1,
            rewind: false,
            on_last_frame: function(obj) {
                // you could stop the sprite here with, e.g.
                obj.spStop();
            }
        })
        .active();
}
var init = setInterval("animate_header()", 1000);

Я тоже пробовал это:

function animate_header() {
    $('#header') 
        .sprite({
            fps: 30, 
            no_of_frames: 4,
            // the following are optional: new in version 0.6...
            start_at_frame: 1,
            rewind: false,
            on_last_frame: function(obj) {
                // you could stop the sprite here with, e.g.
                obj.spStop();
            }
        })
        .active();
}
var init = setInterval("animate_header()", 1000);

Сама функция выполняется каждую секунду. Но спрайт не делает.

Ответы [ 4 ]

3 голосов
/ 21 декабря 2011

Вот что у меня сработало. Сначала я устанавливаю параметры, затем зацикливаю их с помощью функции spStart.

$('#header') 
    .sprite({
        fps: 30, 
        no_of_frames: 4,
        start_at_frame: 1,
        rewind: false,
        on_last_frame: function(obj) {
            // you could stop the sprite here with, e.g.
            obj.spStop();
        }
    });

setInterval ( "$('#header').spStart()", 1000 );
1 голос
/ 31 января 2013

Для всех, кто может случайно наткнуться на это, используйте

.destroy()

Анимация, кажется, прерывается после запуска несколько раз любым другим способом, но уничтожение исправляет это:)

0 голосов
/ 14 февраля 2012

Я закончил этим.Который работал так, как я хотел.

function loop() {

  $('#bird').sprite({fps: 7,  no_of_frames: 4, play_frames: 4});

           var t = setTimeout(function(){
            loop()
           }, 2000);
       }
       loop()

Спасибо за любые ответы.

0 голосов
/ 03 февраля 2012

попробуйте заменить .active(); на .spStart(); в конце кода.

Похоже, obj.spStop(), который вызывается в последнем кадре, просто убивает анимацию мертвым, и для ее запуска требуется быстрый старт ... Сработало для меня:)

...