【问题标题】:Modifying flipbook jquery to load faster修改翻书 jquery 以加快加载速度
【发布时间】:2011-07-09 19:44:59
【问题描述】:

我正在使用带有大 png 图像序列的 Flipbook jquery plugin。我给插件的创建者发了电子邮件,询问是否有任何方法可以创建某种“加载器”或允许它分块加载并在加载一定数量的图像后开始播放。他的回复如下:

这应该是可能的,我正在考虑这样做,但当时不需要。

在翻书代码中,shouldStartAnimation 函数通过增加一个计数器并检查该计数器与总帧数来确定动画是否应该开始。当所有帧都加载完毕后,计时器开始翻转帧。可以更改此代码,以便在加载一半帧或其他内容后启动计时器。它也可以变得非常花哨,计算出每帧加载需要多长时间,然后猜测需要加载多少帧才能开始播放序列,以便在需要时加载所有帧。

很遗憾,我没有时间自己进行这些更改,但请随时根据您的需要修改此代码 :)

https://gist.github.com/719686

不幸的是,我没有足够的 javascript 知识来完成这项工作,而且我不知道对于这样做的人来说需要做多少工作。我只是希望这里有人可能有一些更有用的信息或建议来帮助我解决这个问题(或者,显然,如果这对某人来说足够容易,那将是惊人的)。

【问题讨论】:

  • 我没有看过这个插件,但是当一个百分比已经加载时它可能相当容易做到,(例如,如果已经加载了一半)但更难计算出多少“缓冲区”基于加载速度。另外,你知道它会如何表现它试图显示一个尚未加载的框架吗?我认为你需要指定你想要它做什么(百分比加载开始或聪明的缓冲计算开始)否则我们不知道你在寻找什么解决方案

标签: javascript jquery inscopeapps


【解决方案1】:

添加一个默认选项,如下,确保在正确的位置有适当的“逗号”。

'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);
    }
}

我认为这应该可以解决问题*

【讨论】:

    猜你喜欢
    • 2012-07-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多