我刚开始学习JavaScript,想知道如何以最佳方式每10秒更换一个DIV的背景图片(只有两张)。谢谢:)
$(document).ready(function(){
var setFirst = $('.set').first();
setFirst.addClass('active');
setTimeout(function(){change_background();},1000);
});
function change_background(){
var setFirst = $('.set').first(),
setActive = $('.active'),
setNext = setActive.next(),
setCheckActive = setActive.attr('id'),
setCheckLast = $('.set').last().attr('id');
if(setCheckActive == setCheckLast){
setNext = setFirst;
}
$('.active').removeClass('active');
setNext.addClass('active');
setTimeout(function(){change_background()},1000);
}
可以尝试这样做:
$(document).ready(function(){
setTimeout('setbackground()',10000);
});
function setbackground(){
// change you image here
setTimeout('setbackground()',10000); // to change the image in 10 seconds
}
$(document).ready(function(){
var i = 0;
var images = newArray("image1.jpg","image2.png","image3.jpg");
setTimeout('changeBack(i, images)',10000);
});
function changeBack(i, images) {
i++;
if(i > images.length) {
i = 0;
}
$('#changeBackInThisId').css('background-image', images[i]);
setTimeout(changeBack(i, images), 10000);
}
使用setInterval
函数交替应用CSS类(即bg1
<--> bg2
)
var body = document.getElementsByTagName('body')[0],
switchBG = function() {
var bgTimer = setInterval(function() {
body.className = (body.className === "bg2" ? "bg1" : "bg2");
}, 10000 /* 10000 ms = 10 sec */);
};
switchBG();
这是纯JS
var time = 10000; // Ten seconds
var timer = setInterval(function() {
$('#myDiv, #myOtherDiv').css('background-image', '/new/img/path.jpg');
}, time);
未经测试,但应该可以工作。我会做一个例子。
setInterval()
。 - theazureshadow