我正在使用jQuery Booklet插件,并且有一本非常有效的小册子。但是我有一个挂断。这本小册子相当大,有很多图像(大约50张),第一次访问页面时加载速度很慢。我想要做的是采取我目前拥有的脚本并加载前20个图像(大致)然后显示小册子,而其余图像加载在后台。这是我正在使用的脚本,并希望对其进行修改:
的 JS 的
$(function() {
var $mybook = $('#mybook');
var $bttn_next = $('#next_page_button');
var $bttn_prev = $('#prev_page_button');
var $loading = $('#loading');
var $mybook_images = $mybook.find('img');
var cnt_images = $mybook_images.length;
var loaded = 0;
//preload all the images in the book,
//and then call the booklet plugin
$mybook_images.each(function(){
var $img = $(this);
var source = $img.attr('src');
$('<img/>').load(function(){
++loaded;
if(loaded == cnt_images){
$loading.hide();
$bttn_next.show();
$bttn_prev.show();
$mybook.show().booklet({
//Booklet Options
});
}
}).attr('src',source);
});
});
如何修改此代码以加载前20张图片然后显示小册子?请提供示例。
答案 0 :(得分:1)
我需要确定HTML才能确定,但更改定义cnt_images
的行应该可以解决问题。改变这一行:
var cnt_images = $ mybook_images.length;
这样说:
var cnt_images = 20;
答案 1 :(得分:1)
查看您发布的逻辑,您只需更改cnt_images = 20
即可。如果还有其他依赖于此的逻辑,那么当您检查loaded
值时,而不是针对cnt_images
进行检查,请将其与20
进行核对。