最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js实现宇宙星空背景效果的方法_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:35:08
文档

js实现宇宙星空背景效果的方法_javascript技巧

js实现宇宙星空背景效果的方法_javascript技巧:本文实例讲述了js实现宇宙星空背景效果的方法。分享给大家供大家参考。具体实现方法如下: 代码如下: 宇宙星空背景效果,Js特效 .star { position:absolute; layer-background-color:white; visibility:visible; top:
推荐度:
导读js实现宇宙星空背景效果的方法_javascript技巧:本文实例讲述了js实现宇宙星空背景效果的方法。分享给大家供大家参考。具体实现方法如下: 代码如下: 宇宙星空背景效果,Js特效 .star { position:absolute; layer-background-color:white; visibility:visible; top:
 本文实例讲述了js实现宇宙星空背景效果的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:



宇宙星空背景效果,Js特效



var starnum = 75; // 星星的数目
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() * 12); //用随机函数决定
obj.deltax = Math.floor(Math.random() * 12);
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()', 400);
}
(isNS) ? window.onresize = resizeNS : window.onresize = findwindowparams;
window.onload = new Function("findwindowparams(); animate();");
-->





for (i = 1; i <= starnum; i++) { //给星星定义层
document.writeln('');
eval('var star'+i+'=document.'+_all+'star'+i+_style);
}
-->



飞翔在
宇宙的星空中




运行效果如下图所示:

希望本文所述对大家的javascript程序设计有所帮助。

文档

js实现宇宙星空背景效果的方法_javascript技巧

js实现宇宙星空背景效果的方法_javascript技巧:本文实例讲述了js实现宇宙星空背景效果的方法。分享给大家供大家参考。具体实现方法如下: 代码如下: 宇宙星空背景效果,Js特效 .star { position:absolute; layer-background-color:white; visibility:visible; top:
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top