当前位置:编程学习 > JS >>

javascript 简单的雪花飘落代码 带注释

补充:我想找个javascript 雪花飘落的简单代码,要带注释的,本人要学习,没注释看不太懂,谢谢了……
答案:<html>
<head>
<title>网页特效|Linkweb.cn/Js|---页面漫天飞雪</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#000000" onLoad="snow()">
<script language="JavaScript">
<!--
N = 40;
//声明为数组的变量
Y = new Array();
X = new Array();
S = new Array();
A = new Array();
B = new Array();
M = new Array();
/*document.layers是Netscape 4.x专有的属性,是一个代表所有由储如<div><layer>等定位了的元素的数组。通常也是用<div>或<layer>对象的id属性来引用的,但是这里面不包含除此以外的其它元素。
*/
V = (document.layers)?1:0;
iH=(document.layers)?window.innerHeight:window.document.body.clientHeight;//clientHeight  就是浏览器里面那个空白的高
iW=(document.layers)?window.innerWidth:window.document.body.clientWidth;  //clentWidth    是浏览器里面那个空白的宽
for (i=0; i < N; i++){
/*Math的round(double d)
方法的内容就是
返回最接近参数的 long。通过加上 1/2 将该结果舍入为整数,取结果的基数并将其强制转换为 long 类型。换句话说,结果等于以下表达式的值:
(long)Math.floor(a + 0.5d)

为什么加0.5? 当然是代码就这么写的

1. 如果参数为正数,且小数点后第一位>=5,运算结果为参数的整数部分+1。
2. 如果参数为负数,且小数点后第一位>5,运算结果为参数的整数部分-1。
3. 如果参数为正数,且小数点后第一位<5;或者参数为负数,且小数点后第一位<=5,运算结果为参数的整数部分。
Math.random()返回一个伪随机数 n,其中 0 <= n < 1。返回的数字之所以是一个伪随机数是因为它不是由真正的随机自然现象(如放射性衰变)生成的数字。
*/
//随机获取浏览器空白区的高和宽 赋值给Y和X
Y[i]=Math.round(Math.random()*iH);
X[i]=Math.round(Math.random()*iW);
//设定S A B M的随机取值范围
S[i]=Math.round(Math.random()*5+2);
A[i]=0;
B[i]=Math.random()*0.1+0.1;
M[i]=Math.round(Math.random()*1+1);
}
if (V){//判断页面是否存在<div> 和 <layer> 等元素  第一次访问浏览器肯定是没有的所以v = 0 所以要先生存<div> 或 <layer> 等元素
for (i = 0; i < N; i++)
{document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0 BGCOLOR='#FFFFF0' CLIP='0,0,"+M[i]+","+M[i]+"'></LAYER>")}//生成<layer> 元素  生成背景
}
else{
//这段代码就是生成雪花 
document.write('<div style="position:absolute;top:0px;left:0px">');//生成<div> 元素  
document.write('<div style="position:relative">');
for (i = 0; i < N; i++)
{document.write('<div id="si" style="position:absolute;top:0;left:0;width:'+M[i]+';height:'+M[i]+';background:#fffff0;font-size:'+M[i]+'"></div>')}
document.write('</div></div>');
}
function snow(){
var H=(document.layers)?window.innerHeight:window.document.body.clientHeight;
var W=(document.layers)?window.innerWidth:window.document.body.clientWidth;
var T=(document.layers)?window.pageYOffset:document.body.scrollTop;   //往下拉滚动条的上面高度
var L=(document.layers)?window.pageXOffset:document.body.scrollLeft;  //往右拉滚动条的左边宽度
for (i=0; i < N; i++){
sy=S[i]*Math.sin(90*Math.PI/180);
sx=S[i]*Math.cos(A[i]);
Y[i]+=sy;
X[i]+=sx;
if (Y[i] > H){
Y[i]=-10;
X[i]=Math.round(Math.random()*W);
M[i]=Math.round(Math.random()*1+1);
S[i]=Math.round(Math.random()*5+2);
}
if (V){document.layers['sn'+i].left=X[i];document.layers['sn'+i].top=Y[i]+T}
else{si[i].style.pixelLeft=X[i];si[i].style.pixelTop=Y[i]+T}
A[i]+=B[i];
}
setTimeout('snow()',30);  //定时器 每隔30毫秒执行一次
}
//-->
</script>
<script language="Javascript">
<!--
function selectAll(theField){
var tempval=eval("document."+theField)
tempval.focus()
tempval.select()
}
//-->
</script>
</table>
</body>

上一个:javascript轮播图片问题
下一个:对编程有很深经验的师傅进来说下学 学会这些 SQL,C,C#或者JAVA,JAVASCRIPT,HTML。 数据库, 数据结构

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,