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


Posted in Javascript onMarch 03, 2015

本文实例讲述了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>

运行效果如下图所示:

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

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

Javascript 相关文章推荐
基于jQuery的Tab选项框效果代码(插件)
Mar 01 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
jquery统计用户选中的复选框的个数
Jun 06 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
Mar 18 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
AngularJS指令用法详解
Nov 02 Javascript
vue 路由页面之间实现用手指进行滑动的方法
Feb 23 Javascript
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
vue 中使用 watch 出现了如下的报错的原因分析
May 21 Javascript
JavaScript 链表定义与使用方法示例
Apr 28 Javascript
Angular中的Promise对象($q介绍)
Mar 03 #Javascript
Javascript设计模式之观察者模式的多个实现版本实例
Mar 03 #Javascript
Node.js 学习笔记之简介、安装及配置
Mar 03 #Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 #Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
Mar 03 #Javascript
JS实现鼠标点击展开或隐藏表格行的方法
Mar 03 #Javascript
浅谈JavaScript数据类型
Mar 03 #Javascript
You might like
php中的实现trim函数代码
2007/03/19 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
使用python实现kNN分类算法
2019/10/16 Python
python模块导入的方法
2019/10/24 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
ktv筹备计划书
2014/05/03 职场文书
七夕情人节促销方案
2014/06/07 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
运动会加油稿20字
2014/11/15 职场文书
高老头读书笔记
2015/06/30 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers