HI大家
我需要知道是否有办法在特定时间(如10秒或30秒等)后更改背景图像。 你知道像雅虎登录邮件“它每天都在改变背景!!”
如果有使用JQuery或CSS或html或其他任何东西的方式,请告诉我
答案 0 :(得分:6)
你可以使用javascript函数
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
var imageID=0;
function changeimage(every_seconds){
//change the image
if(!imageID){
document.getElementById("myimage").src="http://www.all-freeware.com/images/full/38943-nice_feathers_free_screensaver_desktop_screen_savers__nature.jpeg";
imageID++;
}
else{if(imageID==1){
document.getElementById("myimage").src="http://www.hickerphoto.com/data/media/186/flower-bouquet-nice_12128.jpg";
imageID++;
}else{if(imageID==2){
document.getElementById("myimage").src="http://www.photos.a-vsp.com/fotodb/14_green_cones.jpg";
imageID=0;
}}}
//call same function again for x of seconds
setTimeout("changeimage("+every_seconds+")",((every_seconds)*1000));
}
</script>
</head>
<body style='background:black;' onload='changeimage(2)'>
<div style='position:absolute;width:100%;height:100%;left:0px;top:0px;' align='center'><img width='300px' height='250px' id='myimage' src='http://www.photos.a-vsp.com/fotodb/14_green_cones.jpg'/></div>
</body></html>
试试这个! :)
答案 1 :(得分:2)
您可以使用CSS3 webkit动画来实现它,但权衡的是它只适用于Chrome和Safari,但您根本不需要任何JavaScript。
上面的jQuery建议是我最好的选择。
答案 2 :(得分:1)
您可以使用javascript的setTimeout
或setInterval
来执行此操作,或查看JQuery's Timers
修改强> 使用JQuery,这将在1秒后改变背景:
$(window).oneTime(1000, function() {
// change your background image here
});
答案 3 :(得分:0)
您可以使用函数和setTimeout:
来完成function changeBG()
{
var body = document.getElementsByTagName("body")[0];
body.style.backgroundImage = "url(myimage.gif)";
setTimeout("changeBG",30000); // Change every 30 seconds
}
window.onload = changeBG;
(未经测试,因此可能需要调整或2)
答案 4 :(得分:0)
如果您正在使用Prototype库:
var changeBackground = function() {
$$('body').first().setStyle({
backgroundImage: 'newImage.jpg'
});
};
changeBackground.delay(15);