我相信你们都已经看过这个替换图像的演示了:
$("#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等等(我尽可能多地研究以避免重复发帖)
希望这是有道理的,对不起,如果它太冗长/不清楚
感谢您的反馈!谢谢!
答案 0 :(得分:1)
如果用容器包装所有元素,然后在图像转换期间将容器淡出/淡出会发生什么。
$('#primeContainer').fadeOut('fast', function() {
$('#primeheader').attr({ src: headerpath });
$('#primetext').attr({ src: textpath });
$('#primephoto').attr({ src: imagepath });
$(this).fadeIn('fast');
});