【问题标题】:Image Replacement (gallery style) with Fade-In's / Fade-Out's带有淡入/淡出的图像替换(画廊风格)
【发布时间】:2009-08-17 16:56:24
【问题描述】:

相信大家都看过这个图片替换的演示:

$("#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 :what}) 切换图像源总是首先使其可见,即使在制作.css 可见性无/不可见。

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

希望这是有道理的,如果太罗嗦/不清楚,请见谅

非常感谢您的反馈!谢谢!

【问题讨论】:

    标签: image gallery fade swap replace


    【解决方案1】:

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

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

    【讨论】:

    • 差不多一年后,答案对我来说也是完美的。谢谢! +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2023-04-08
    相关资源
    最近更新 更多