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

 这篇文章主要介绍了js实现宇宙星空背景效果的方法,实例分析了javascript中动画效果的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 
 

本文实例讲述了js实现宇宙星空背景效果的方法。分享给大家供大家参考。具体实现方法如下:

 

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<TITLE>宇宙星空背景效果,Js特效</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.star {
position:absolute;
layer-background-color:white;
visibility:visible;
top:-50px;
width:50px;
height:50px;
font-size:1px;
background-color:white;
}
.60pt{font-size:60pt;color:#ff66cc;}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
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();");
-->
</script>
</HEAD>
<BODY>
<body bgcolor=#999999>
<SCRIPT LANGUAGE="JavaScript">
<!--
for (i = 1; i <= starnum; i++) { //给星星定义层
document.writeln('<div id="star'+i+'" class="star"></div>');
eval('var star'+i+'=document.'+_all+'star'+i+_style);
}
-->
</script>
<p><center>
<font class=60pt><br>飞翔在<br>宇宙的星空中<br></font>
</center><p>
</body>
</html>

 

运行效果如下图所示:

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

时间: 2024-09-07 12:12:39

js实现宇宙星空背景效果的方法的相关文章

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

本文实例讲述了js实现宇宙星空背景效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d"> <html xmlns="http://www.w3.org/1999/xhtml&qu

JS烟花背景效果实现方法

 这篇文章主要介绍了JS烟花背景效果实现方法,实例分析了javascript操作dom元素实现烟花特效的技巧,需要的朋友可以参考下     本文实例讲述了JS烟花背景效果实现方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt

JS烟花背景效果实现方法_javascript技巧

本文实例讲述了JS烟花背景效果实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

ps打造浩瀚宇宙星空

浩瀚的宇宙给我们留下无限的幻想,今天为大家介绍photoshop滤镜制作宇宙星空效果教程,教程制作出的效果很漂亮,制作方法介绍的也很详细,适合初中级PS学习者学习制作,希望朋友们喜欢本教程! 下面是最终效果图 分类: PS滤镜教程

js在浏览器兼容教程:DOM方法及对象引用

文章简介:js在浏览器兼容教程:DOM方法及对象引用. 1. getElementById [分析说明]先来看一组代码: <!-- input对象访问1 --><input id="id" type="button" value="click me" ōnclick="alert(id.value)"/> 在Firefox中,按钮没反应,在IE中,就可以,因为对于IE来说,一个HTML 元素的 ID 可

asp.net动态添加js文件调用到网页的方法

asp.net动态添加js文件调用到网页的方法         本文实例讲述了asp.net动态添加js文件调用到网页的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 HtmlGenericControl JsControl = new HtmlGenericControl("script"); JsControl.Attributes.Add("type", "text/javascript"); JsControl.Att

JS随机调用指定函数的方法

  本文实例讲述了JS随机调用指定函数的方法.分享给大家供大家参考.具体如下: 本代码通过随机定时器调用指定函数,可达到间隔随机时间之行指定的函数的目的 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 function randRange(data) { var newTime = data[Math.floor(data.length * Math.random())]; return newTime; } function toggleSomething() { var ti

node.js读取文件到字符串的方法

  本文实例讲述了node.js读取文件到字符串的方法.分享给大家供大家参考.具体分析如下: Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设你是在POSIX环境下运行它Linux 或 Mac OS X. 主要代码如下: ? 1 2 3 var fs = require('fs'); var file = fs.readFileSync(path, "utf8"); console.log(file);

PhotoShop滤镜制蓝色奇幻银河宇宙星空效果教程

教程介绍用PhotoShop滤镜制蓝色奇幻银河宇宙星空效果,主要是用PS滤镜制作出来的,滤镜很强大,可以根据自已的想法创造出许多另类效果,         三联推荐:photoshop7.0迷你版免费下载    |  Photoshop CS5 中文免费下载  |  photoshop免费下载 喜欢的同学可以学习一下. 最终效果图: 新建文档:15CM*10CM 解锁图层并执行滤镜-分层云彩命令,CTRL+L打开色阶命令调整参数增强云彩对比度 然后执行滤镜-扭曲-旋转扭曲命令制作旋转扭曲效果 2