正确有效地实现后台加载
Implementing background loading properly and efficiently
下面的代码是我正在尝试做的事情的摘要,即开发一个允许用户在图像中左右滚动的界面。图像从屏幕开始,然后到中心,它还将上一个图像推回屏幕。
我希望对我拥有的代码有一些建议,或者关于如何做得更好的建议。显然,如果用户快速单击箭头,它无疑会破坏脚本,所以我在这里需要帮助。也许可以防止在处于"加载"状态时单击箭头?
我还应该提到 backgroundLoad 预加载下一个和上一个图像。当我说"屏幕外"时,它会动画到中心。我不是在寻找图片库/灯箱解决方案。这个问题更多的是关于预加载过程。
var imgArray=[];
var b = 0;
function loadImage(ini){
b = ini;
//preload image
var num_loaded = 0;
imgArray[ini] = new Array();;
for(var i=0;i<2;i++){
imgArray[ini][i] = new Image();
imgArray[ini][i].onload = function(){
num_loaded++;
if(num_loaded == 1){
}
if(num_loaded == 2){
//do something
backgroundLoad(ini+1);
}
}
imgArray[ini][i].src = ArrayOfFiles[ini][i];
}
}
function backgroundLoad(ini){
var num_loaded = 0;
imgArray[ini] = new Array();;
for(var i=0;i<2;i++){
imgArray[ini][i] = new Image();
imgArray[ini][i].onload = function(){
num_loaded++;
if(num_loaded == 2){
// loaded
}
}
imgArray[ini][i].src = ArrayOfFiles[ini][i];
}
}
$("div#arrow-left").click(function(){
loadImage(b+1);
});
$("div#arrow-right").click(function(){
loadImage(b-1);
});
您是否尝试过以下预先编写的工具之一?这些已经具有您需要的所有(以及更多)功能。
- http://lytebox.com/
- http://www.shadowbox-js.com/
- http://leandrovieira.com/projects/jquery/lightbox/
相关文章:
- JS页面在后台加载时显示动画
- 加载初始网站后在后台加载数据
- 如何在Mozilla插件中检测后台加载的URL
- 在页面加载/刷新时在后台运行扩展
- 在浏览器上显示之前,在后台预加载/刷新页面
- 如何在后台加载图像,然后在完成后显示页面
- 如何加载jQuery后台检查插件
- 如何让chrome扩展在页面加载的后台执行功能
- 正确有效地实现后台加载
- 使用 createHTMLDocument 在后台解析动态加载的文档
- Javascript覆盖,而所有内容都在后台加载
- 在后台加载iframe网站
- 如何在不加载图像/脚本的情况下在后台加载和分析页面
- “Loading"函数允许JS在后台加载和填充表单
- 在javascript中获取用户屏幕大小,并将图像调整为临时文件,然后在后台加载
- Android Webview在后台加载,准备好时显示
- 在后台加载XML文件
- Webview在android中从后台加载数据
- 在后台加载第二个网页以从此网页获取内容
- 在后台加载选项卡并从中获取一些信息