我制作了一些淡出图片的代码,更改src
属性,然后fadeIn()
新图片。
这适用于Chrome,但不适用于FireFox。
这是jQuery代码:
var myInterval=setInterval(function(){myChanging()},5000);
function myChanging () {
var newUrl = urlBaseBackground + currentIndex + ".jpg";
var image = jQuery('#bckimg');
image.fadeOut(1000, function () {
image.attr('src', newUrl);
image.fadeIn(1000);
});
currentIndex ++;
if (currentIndex > totalCountBackgroundImages-1)
currentIndex = 0;
}
身体:
<img id="bckimg"
style="position:fixed;width:100%;height:100%;left:0px;top:0px;z-index:-1;"
src="/back/0.jpg" />
FF会在显示时更改图像,而不是在淡入和淡出之间。
我在'.attr("src"...'
部分之前尝试了一个setTimeout,但它也没有用。
有人知道吗?
编辑:忘记提及我在启动淡入淡出之前用其他功能加载所有图像。
答案 0 :(得分:2)
我认为你应该采取链式行动:
image.fadeOut(1000).attr('src', newUrl).fadeIn(1000);
或尝试promise()功能:
image.fadeOut(1000);
image.promise().done(function()
{
$(this).attr('src', newUrl).fadeIn(1000);
});