Как воспроизвести jQuery Reel на конкретном кадре и на этом остановиться? - PullRequest
2 голосов
/ 14 февраля 2012

jQuery Reel (http://jquery.vostrel.cz/reel) - отличный плагин jquery для создания прекрасных 360-градусных обзоров вещей.

Есть события, которые вы можете запускать для воспроизведения, остановки и приостановки анимации, а также для определения того, на каком кадре вы находитесь (.reel ("frame")), но я не могу понять, как их собрать. создать ссылку, которая воспроизводит ролик определенного кадра, а затем останавливается. Есть предложения?

1 Ответ

8 голосов
/ 25 февраля 2012

Вы можете "play" это, привязать к событию "frameChange", чтобы проверить целевой кадр, и когда это будет достигнуто, "stop" это.Примерно так:

$('#your_reel_image')
.trigger('play')
.bind('frameChange', function(){
    if ($(this).reel('frame') == target_frame){
        $(this).trigger('stop');
    }
});

Просто учтите тот факт, что на более медленных устройствах, таких как мобильные устройства, некоторые кадры могут быть пропущены, чтобы поддерживать требуемую скорость анимации.

Вытакже получите frame в качестве третьего аргумента обработчика событий, чтобы сохранить себе дополнительный вызов .reel() внутри обработчика, поэтому приведенное выше можно изменить следующим образом:

$('#your_reel_image')
.trigger('play')
.bind('frameChange', function(e, depr_frame, frame){
    if (frame == target_frame){
        $(this).trigger('stop');
    }
});

РЕДАКТИРОВАТЬ:

Начиная с версии 1.3, вы можете заменить приведенное выше решение вызовом просто:

$('#your_reel_image').trigger('reach', target_frame);

Барабан оживит кратчайший путь к данному кадру и остановится на этом.

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