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 DOM操作实例
Mar 05 Javascript
jQuery中map()方法用法实例
Jan 06 Javascript
js获取页面description的方法
May 21 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
Apr 26 Javascript
微信小程序实现星星评价效果
Nov 02 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 06 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 Javascript
浅析js实现网页截图的两种方式
Nov 01 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实现用户认证及管理完全源码
2007/03/11 PHP
php URL编码解码函数代码
2009/03/10 PHP
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
使用python模拟高斯分布例子
2019/12/09 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
触摸春天教学反思
2014/02/03 职场文书
财务部总监岗位职责
2014/03/12 职场文书
放弃继承权公证书
2015/01/23 职场文书
单位推荐信范文
2015/03/27 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
2015年消防工作总结
2015/04/24 职场文书
格林童话读书笔记
2015/06/30 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript