javascript - 带有异步加载图像的 jQuery 幻灯片循环

标签 javascript jquery

我正在尝试创建一个简单的 jQuery 幻灯片,它不会在开始时加载所有图像,而是异步加载要使用的下一个图像以减小页面大小。

我的幻灯片可以正常播放,但下一张图像的预加载似乎无法完全发挥作用?

示例 jQuery

var i = 2;
var total = 9;

var obj = setInterval(function(){    

    $(".slides_container img").fadeOut("slow", function(){
        $(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
            $(this).fadeIn();
        });
    });

    if(i < total){
        i++;
        //Preload Next Image
        (new Image()).src = "/images/slide-" + i + ".jpg";
    }
    else   
        i = 1;
}, 4000);

问题的可能原因

预加载注释下面的行必须加载下一个图像,但是下面突出显示的代码似乎没有使用任何缓存的图像,而是再次从服务器中提取它们?

我必须使用 .load() 才能使 .fadeIn() 正常工作

$(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
    $(this).fadeIn();
});

最佳答案

$(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
    $(this).fadeIn();
});

应该是:

$(this).load(function() {
    $(this).fadeIn();
});

$(this).attr("src" ,"/images/slide-" + i + ".jpg")

或者尝试::

$(this).onload = function () {
   ....
})

关于javascript - 带有异步加载图像的 jQuery 幻灯片循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010273/

相关文章:

javascript - 如何给jquery mouseover添加延迟?

javascript - Css 交易 - 隐藏不褪色

javascript - 我可以使用 JavaScript 增强复杂表格的可访问性吗?

java - 尝试执行 Javascript 时线程 "AWT-EventQueue-0"java.lang.NullPointerException 中的异常

javascript - 保持事件改变的颜色

javascript - 未捕获的范围错误: and too much recursion

javascript - 如果我添加 "NA"或 "---"作为空日期值,jQuery 数据表时刻日期格式排序插件不起作用

javascript - 使用单一功能全屏制作多张图片

javascript - 在 jQuery 中获取分区标记的高度

jquery - 图像随机淡入和淡出