具有淡入/淡出的图像替换(图库样式)

时间:2009-08-17 16:56:24

标签: image gallery fade swap replace

我相信你们都已经看过这个替换图像的演示了:

$("#largeImg").attr({ src: largePath, alt: largeAlt });

http://www.webdesignerwall.com/demo/jquery/img-replacement.html

所以,想象一下,我想在屏幕上更改4个图像,以模拟我正在更改整个“页面”,但避免使用AJAX / PHP或任何图像预加载器。我现在用我的代码遇到的问题:

<script>
$(document).ready(function(){
    $(".navlink").click(function(){
        var theirname = $(this).attr("name");
        var imagepath = "images/img_"+theirname+".jpg";
        var headerpath ="images/header_"+theirname+".png";
        var textpath = "images/about_"+theirname+".jpg";
        //var lightpath = "images/smallimg_"+theirname+".jpg";
        $("#primeheader").attr({ src: headerpath});
        $("#primetext").attr({ src: textpath}); 
        $("#primephoto").attr({ src: imagepath});
    });
});
</script>

当你调用'淡入','动画不透明'或类似的东西时,使用.attr({src:whatever})切换图像源总是首先使其可见,即使在制作之后.css可见性无/无形。

我已经尝试过延迟,setTimeout等等(我尽可能多地研究以避免重复发帖)

希望这是有道理的,对不起,如果它太冗长/不清楚

感谢您的反馈!谢谢!

1 个答案:

答案 0 :(得分:1)

如果用容器包装所有元素,然后在图像转换期间将容器淡出/淡出会发生什么。

$('#primeContainer').fadeOut('fast', function() {
    $('#primeheader').attr({ src: headerpath });
    $('#primetext').attr({ src: textpath });
    $('#primephoto').attr({ src: imagepath });
    $(this).fadeIn('fast');
});