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判断checkbox(复选框)是否被选中的代码
Oct 20 Javascript
JS延迟加载加快页面打开速度示例代码
Dec 30 Javascript
轻松实现js图片预览功能
Jan 18 Javascript
Jquery实现纵向横向菜单
Jan 24 Javascript
简单模拟node.js中require的加载机制
Oct 27 Javascript
正则表达式替换html元素属性的方法
Nov 26 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
Vue.js实战之Vuex的入门教程
Apr 01 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
Apr 11 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
微信小程序用户自定义模版用法实例分析
Nov 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导入Excel到MySQL的方法
2011/04/23 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
javascript new一个对象的实质
2010/01/07 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
详解JavaScript的变量
2019/04/04 Javascript
Python下Fabric的简单部署方法
2015/07/14 Python
Python3字符串学习教程
2015/08/20 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
机器学习python实战之手写数字识别
2017/11/01 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
工程部主管岗位职责
2013/11/17 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
实习生求职自荐信
2014/02/07 职场文书
小浪底导游词
2015/02/12 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript