在此站点的标题中:http ://www.ipallares.com我正在尝试进行一些图像交换,并带有淡入淡出效果。它应该是非常简单的 jQuery,但我得到了一个奇怪的行为。我正在使用的代码是:
function changeImage(){
var img_to_change = Math.floor(Math.random()*99)+1
var new_img = Math.floor(Math.random()*99)+1;
var new_img_url = 'https://liv.s3.amazonaws.com/ipallares/images/header/'+new_img+'.jpg';
jQuery("#img_"+img_to_change).fadeTo(300, 0.001,
function(){
jQuery("#img_"+img_to_change).attr("src", new_img_url);
jQuery("#img_"+img_to_change).fadeTo(500, 1);
}
);
setTimeout("changeImage()", 1000);
}
我从一个目录中获取图像,其中有从 1.jpg 到 100.jpg 的图像。
在 FF 中,我看到(大多数情况下)原始图像如何淡出(实际上淡入到 0.001)然后淡入(实际上淡入到 1),然后它变成新图像(一旦原图像完全消失,图像应该改变褪色到 0.001,因为我正在使用“完成”函数回调)。然后新图像调整大小,产生令人讨厌的效果。
在 chrome 中它工作得更好一些,但仍然随机地,完整的函数回调不能按预期工作。
我究竟做错了什么?我是 jQuery 新手,但这很简单,而且 jQuery 应该是一个非常稳定的跨浏览器工具,不是吗?
非常感谢任何解决方法或建议。