我有一个循环显示2张图片的代码。
淡出第一个,更改图像,然后在秒图像中淡入淡出。 我正在用setInterval函数重复这个过程。
当我观看周期时,它看起来很好。 当我切换到另一个标签并在10或20秒后返回时,这就像试图快速赶上我错过的所有衰落和变化......(疯了,简而言之)这里是setInterval函数:
setInterval(function(){
fadeout(PointerToImage, function() {
ChangeImage(function() {fadein(PointerToImage); } )
});
},5000);
如果需要: 淡出功能
function fadeout(element,complete) {
var op = 1; // initial opacity
var timer = setInterval(function () { //call the function every 50 milliseconds
if (op <= 0.1){ // stop the function when the op is lower then x and then make in invisible.
clearInterval(timer); // clear the timer ....
if ( typeof complete === 'function' ) // run it only if complete is a function .....
{
complete();
}
return true;
}
element.style.opacity = op; // for newer browsers
op -= op * 0.01; // reduce 10% each time
}, 0.05); // run every 50 seconds
}
fadein功能:
function fadein (element,complete) {
var op = 0.1 // initial opacity
var timer = setInterval(function () { //call the function every x milliseconds
if (op >= 0.99){ // stop the function when the op is higher then x ....
element.style.opacity = 1;
clearInterval(timer); // clear the timer ....
if ( typeof complete === 'function' ) // run it only if complete is a function .....
{
complete();
}
return true;
}
element.style.opacity = op; // for newer browsers
op += 0.01; // reduce 10%
}, 30); // run every 50 seconds
}
ChangeImage功能:
function ChangeImage (complete) {
liran0.src=imagesarrays[indexid1];
indexid1=indexid1 +1;
if(indexid1 >= imagesarrays.length){
indexid1 = 0;
}