河南省郑州市计量:请教大家一下,网页的背景色怎么来不停的改变?(我想用java脚本来实现)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 01:00:08
大家一定要帮我这个忙啊~~!
我只要可以不停地调用一个函数的语句就可以了
<script language=javascript>
step=0
step++
function shi()
{
if (step=="1")
{
document.bgColor="lightblue"
}

if (step=="2")
{
document.bgColor="lightgreen"
}
if (step=="3")
{step=1}
}

</script>

楼上的代码确实可以运行,不过一般我们不会用这种方法.因为你是用onload触发shi()函数,然后在shi()函数里面再调用shi().这样不停的递归调用,最终会占用用户系统中越来越多的内存.楼主可以试着把tjoy7d写的setTimeOut("shi()",1000)中的1000改成1,然后运行一段时间,用任务管理器查看一下,iexplorer占用的内存会越来越大.虽然现在系统配制非常高,但是这种方法还是最好不要采用.
楼主把i一直累加,我个人觉得这样也不好.
程序设计并非能用就好.要考虑很多其他问题.
楼主可以使用intervalID=setInterval('function',sMSecond)方法.代码如下:

<html>
<head><title></title>
<script language=javascript>
var color=1
function shi(){
if(color==1){
document.bgColor="lightgreen";
color=0;
}
else{
document.bgColor="lightblue";
color=1
}
}
</script>
</head>
<body onload="var intervalID=setInterval('shi()',1000);">
</body>
</html>

用一个定时就可以了:

<html>
<head>
<script language=javascript>
i=0
function shi(){
i=i+1
if(i=="1"){
document.bgColor="lightblue";
}
else if(i=="2"){
document.bgColor="lightgreen";
i=0;
}
setTimeout("shi()",1000);
}
</script>
</head>
<body onload="shi()">
</body>
</html>

上面的效果是1s换一次背景,这里面有两个背景颜色,如果楼主要改变背景更换时间的话,只需要把setTimeout中的第二个参数改变即可,单位是"毫秒".

这段代码我本地试过了,可以运行.

<body onload="shi()">

function shi()
{
var i=0;
for(;i>0;i++)
if (i%2=="0")
{
document.bgColor="lightblue"
}
else
{
document.bgColor="lightgreen"
}
}