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

穿越星空的网页背景特效

利用JS和CSS实现的穿越星空背景特效,和系统带的穿越星空屏幕保护程序有点相似,直接复制代码就可使用。
答案:<html>
<head>
<title>穿越星空</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
.star {
position:absolute;
layer-background-color:white;
visibility:visible;
top:-20px;
width:20px;
height:20px;
font-size:1px;
background-color:white;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var starnum = 73; // Number of stars
var isNS = (document.layers);
var _all = (isNS)? '' : 'all.';
var _style = (isNS) ? '' : '.style';
var xoffset, yoffset, w_x, w_y, tmpx, tmpy, scrlx, scrly;
function getstartpos(obj) {
obj.deltay = Math.floor(Math.random() * 11);
obj.deltax = Math.floor(Math.random() * 11);
obj.xdir = (Math.floor(Math.random() * 2) == 1) ? '+' : '-';
obj.ydir = (Math.floor(Math.random() * 2) == 1) ? '+' : '-';
obj.counter = 1;
if (isNS) {
obj.clip.width = 1;
obj.clip.height = 1;
obj.moveTo(xoffset+pageXOffset, yoffset+pageYOffset);
} else {
obj.width = 1;
obj.height = 1; 
obj.pixelTop = yoffset+document.body.scrollTop;
obj.pixelLeft = xoffset+document.body.scrollLeft;
   }
}
function movestar(starN) {
tmpx = starN.deltax*starN.counter+starN.counter;
tmpy = starN.deltay*starN.counter+starN.counter;
if (isNS) {
starN.clip.width = starN.counter / 3;
starN.clip.height = starN.counter / 3;
scrlx = pageXOffset;
scrly = pageYOffset;
if ((starN.left+tmpx >= w_x+scrlx) || (starN.top+tmpy >= w_y+scrly) || (starN.left-tmpx <= scrlx) || (starN.top-tmpy <= scrly)) {
getstartpos(starN);
} else {
eval('starN.moveBy('+starN.xdir+tmpx+', '+starN.ydir+tmpy+')');
   }
} else {
starN.width = starN.counter/3;
starN.height = starN.counter/3;
scrlx = document.body.scrollLeft;
scrly = document.body.scrollTop;
if ((starN.pixelLeft+tmpx >= w_x+scrlx)||(starN.pixelTop+tmpy >= w_y+scrly) || (starN.pixelLeft-tmpx <= scrlx)||(starN.pixelTop-tmpy <= scrly)) {
getstartpos(starN);
} else {
eval('starN.pixelTop'+starN.ydir+'=tmpy');
eval('starN.pixelLeft'+starN.xdir+'=tmpx');
   }
}
starN.counter++;
}
function animate() {
for(i=1; i <= starnum; i++) {
movestar(eval('star'+i));
}
setTimeout('animate()', 100);
}
function findwindowparams() {
w_x = (isNS) ? window.innerWidth : document.body.clientWidth;
w_y = (isNS) ? window.innerHeight : document.body.clientHeight;
xoffset = w_x / 2;
yoffset = w_y / 2;
for (i = 1; i <= starnum; i++) {
getstartpos(eval('star'+i));
   }
}
function resizeNS() {
setTimeout('document.location.reload()', 368);
}
(isNS) ? window.onresize = resizeNS : window.onresize = findwindowparams;
window.onload = new Function("findwindowparams(); animate();");
//  End -->
</script>

</head>

<body bgcolor=black>
<br>
<br>
<center><h2><font color="#ffffff">穿越星空的网页背景特效</font></h2></center>
<br>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
for (i = 1; i <= starnum; i++) {
document.writeln('<div id="star'+i+'" class="star"></div>');
eval('var star'+i+'=document.'+_all+'star'+i+_style);
}
// End -->
</script>
<SCRIPT LANGUAGE="JavaScript">
<!-- hide
function goHist(a)
{
   history.go(a);
}
//-->
</script>
</center>
</body>
</html>

上一个:下大雨效果的网页背景,你肯定喜欢
下一个:CSS背景渐变,从左往右渐变

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,