0

我正在使用嵌套的 li 创建幻灯片:

<ul id="ss_images_set">
                <li>
                    <img link="images/koala_1.jpg" />
                    <p class="img_caption">&#169;Copyright</p>
                    <p class="img_author">John Merriam</p>
                    <p class="img_href">http://www.twitter.com</p>
                    <p class="img_hashtag">JohnMerriam</p>
                </li>

我每天都会将新图片上传到这个幻灯片中,所以集合中会有很多图片(数百张)。那里有太多的预加载器,以至于我对使用什么来仅加载下一个图像感到困惑。幻灯片有一个图像预加载器,但我认为它不能正常工作,因为下一个图像显然没有被缓存(幻灯片下面的内容在转到下一个图像时会上下跳跃)。

这是预加载器脚本:

function preload_images(){
var pre_image = curr_img - 1;
if(pre_image < 0) pre_image = (tot_elements-1);

var curr_obj = 0;

if(!$('#img_preloaded_'+pre_image).length > 0){
    curr_obj = slideshow[pre_image];
    $('body').append('<img src="'+curr_obj["img_url"]+'" id="img_preloaded_'+pre_image+'" class="preload_box" />');
}

var pre_image = curr_img + 1;
if(tot_elements==pre_image) pre_image = 0;
if(!$('#img_preloaded_'+pre_image).length > 0){
    curr_obj = slideshow[pre_image];
    $('body').append('<img src="'+curr_obj["img_url"]+'" id="img_preloaded_'+pre_image+'" class="preload_box" />');
}

我不知道为什么它不缓存。是不是写错了?它在以下小提琴中的错误位置吗?

摆弄 JS:http: //jsfiddle.net/doobada/9m9eq/

当前前。幻灯片(下面的内容上下跳动):https ://www.assembla.com/code/cfrepo/subversion/node/blob/trunk/index.html#image=JohnMerriam

好的,jQuery 不是我的强项(现在正在学习 tuts+ 课程),但这不应该让我花 3 周的时间来弄清楚。

谢谢你的帮助。

4

1 回答 1

0
var newImageUrl = 'someimage.png';

/* preload an image using jQuery: */
$('<img>').attr( {
    src: newImageUrl
} ).load(function() {
    /* image is loaded and could be used */
} );
于 2012-11-01T13:45:46.987 回答