怎样用JavaScript在网页中下雪
孤灯残云 2010-05-10 10:39:33 我想用JavaScript代码控制div块来实现雪花的效果,但是总是提示对象没有该属性或方法。
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>下雪的冬天</title>
<style type="text/css">
<!--
body
{
background-image:url(images/bg.jpg);
}
p
{
font-size:36px;
color:#FFFFFF;
}
div
{
position:absolute;
visibility:visible;
font-size:40px;
color:#FFFFFF;
}
-->
</style>
</head>
<body>
<p>下雪的冬天</p>
<script type="text/javascript">
<!--
var number = 25; //雪花的数量
var x = new Array(); //雪花的水平位置
var y = new Array(); //雪花的竖直位置
var dx = new Array(); //雪花位置的水平该变量
var dy = new Array(); //雪花位置的竖直改变量
var width = document.body.clientWidth;
var height = document.body.clientHeight;
//创建每一片雪花
for(var i = 0;i < number;i++)
{
document.write('<div id="snow+i">*</div>');
x[i] = Math.round(Math.random() * width);
y[i] = Math.round(Math.random() * height + 100);
document.getElementsById("snowi").scrollTop = x[i];
document.getElementsById("snowi").scrollLeft = y[i];
document.getElementsById("snowi").fontSize = Math.random() * 10 + 20;
}
function show()
{
for(var i = 0;i < number;i++)
{
dx[i] = Math.round(Math.random() * width * 2);
dy[i] = Math.round(Math.random() * height * 5);
x[i] += dx[i];
y[i] += dy[i];
if(x > width || x< 0 || y > height)
{
x[i] = Math.round(Math.random() * width);
y[i] = Math.round(Math.random() * height + 100);
}
document.getElementsById("snowi").style.marginleft = x[i];
document.getElementsById("snowi").style.marginTop = y[i] + document.body.scrollTop;
}
setTimeout(show(),1);
}
//-->
</script>
</body>
</html>
请各位高手帮看看