等待图像替换直至图像加载

2024-01-09

我有一个工作脚本(感谢堆栈交换!)用于即时交换图像。我用它作为画廊脚本。它看起来像这样:

           $(".source a").click(function(e){
                e.preventDefault();
                var $a = $(this);
                $("#targetcontainer img").hide("puff", function(){
                    $(this).attr("src", $a.attr("href")).show("fold");
                });
            });

该脚本的问题是旧图像在 JQ show 命令后闪烁。新的源图像大约一秒钟后就会出现,这会产生奇怪的效果。我怎样才能防止这种情况发生?


您可以在尝试显示图像之前预加载图像...

$(".source a").click(function(e) {
    e.preventDefault();

    var newSrc = this.href,
        image = new Image();    

    image.onload = function() {
        $("#targetcontainer img").hide("puff", function() {
            $(this).attr("src", newSrc).show("fold");
        });
    }
    image.src = newSrc;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

等待图像替换直至图像加载 的相关文章

随机推荐