Модификация флипбука jquery для быстрой загрузки - PullRequest
3 голосов
/ 09 июля 2011

Я использую плагин Flipbook jquery с большой последовательностью изображений png. Я написал создателю плагина по электронной почте и спросил, есть ли способ создать какой-нибудь «загрузчик» или разрешить его загрузку кусками и начать воспроизведение после загрузки определенного количества изображений. Он ответил со следующим:

Это должно быть возможно, и я думал об этом, но в то время это было не нужно.

В коде флипбук функция shouldStartAnimation определяет, должна ли анимация начинаться, увеличивая счетчик и проверяя его по общему количеству кадров. Когда все кадры загружены, запускается таймер, который переворачивает кадры. Этот код можно изменить, чтобы таймер запускался после загрузки половины кадров или чего-то еще. Кроме того, он может стать действительно причудливым и выяснить, сколько времени занимает загрузка каждого кадра, а затем угадать, сколько кадров ему нужно разрешить загрузить, прежде чем он сможет начать воспроизведение последовательности, чтобы все кадры загружались к тому времени, когда они ему нужны. *

К сожалению, у меня нет времени вносить эти изменения самостоятельно, но не стесняйтесь изменять этот код для своих нужд:)

https://gist.github.com/719686

К сожалению, я не знаю достаточно javascript, чтобы сделать это, и я не знаю точно, сколько работы это будет для кого-то, кто сделал. Я просто надеюсь, что кто-то здесь может получить более полезную информацию или совет, чтобы помочь мне понять это (или, очевидно, если это достаточно просто для кого-то, это было бы просто удивительно).

1 Ответ

0 голосов
/ 07 августа 2011

Добавьте еще один параметр по умолчанию, следующий, убедитесь, что в правильных местах находятся правильные «комы».

'loadbeforestart': 10, //start animation when 10 frames are loaded

И отредактируйте переменную в следующей функции, замените переменную "end" на "loadbeforestart"

function shouldStartAnimation(){
    //console.log('pre: '+imageName(i));
    preloadCount += step;
    if(preloadCount >= loadbeforestart){
        setTimeout(flipImage, holdTime);
    }
}

Это должно помочь, я думаю *

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