一款js生成的不错的页面上雪花飞舞效果

  不错的雪花飞舞效果,雪花飞舞的感觉怎么样?是不是很不一样?这里的雪花可是用JavaScript生成的哦,雪片数目、飘动速度都可以调节,值越大雪花飘落越慢,而且还可以根据浏览器的类型,代码调用的不同,也就是说兼容性做的也很好,保证了在大多数浏览器类型下的正常显示。

<html>
    <head>
    <title>一款js生成的不错的页面上雪花飞舞效果丨石家庄花卉绿植租摆|石家庄墓地</title>
    </head>
    <body>
    <div style="position: absolute; top: 142; left: 270; width: 189; height: 18">
    <div style="position: absolute; top: 39; left: 31; width: 189; height: 15">
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="100%"><font size="2"><b>雪花飞舞的感觉怎么样?</b></font></td>
    </tr>
    </table>
    </div>
    </div>
    <script language="JavaScript">
    <!--
    var no = 5;  //雪片数目
    var speed = 20; //飘动速度。(值越大越慢)
    var ns4up = (document.layers) ? 1 : 0; //当前浏览器类型,如果是NS则为1
    var ie4up = (document.all) ? 1 : 0; //当前浏览器类型,如果是IE则为1
    var s, x, y, sn, cs;
    var a, r, cx, cy;
    var i, doc_width = 800, doc_height = 600;
    x = new Array();
    y = new Array();
    r = new Array();
    cx = new Array();
    cy = new Array();
    s = 8; //每次下落的高度,越小越平滑,但是也越慢
    if (ns4up) {     //以NS兼容方式
    doc_width = self.innerWidth;   //取页面宽度
    doc_height = self.innerHeight;   //取页面高度
    }
    else
    if (ie4up) {     //以IE兼容方式
    doc_width = document.body.clientWidth;  //取页面宽度
    doc_height = document.body.clientHeight; //取页面高度
    }
    for (i = 0; i < no; ++ i) {  //根据前面定义的雪片数目写进相应数目的层
    initSnow();   //随机初始化层的坐标
    if (ns4up) {   //如果浏览器是NS
    //用layer作为雪片(星号)的容器
    document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");
    document.write("top=\"1\" visibility=\"show\"><font color=\"red\">");
    document.write("*</font></layer>");
    }
    else
    if (ie4up) {   //如果浏览器是IE
    //用div作为雪片的容器
    document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
    document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
    document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"red\">");
    document.write("*</font></div>");
    }
    }
    //初始化雪片,生成随机坐标
    function initSnow() {
    a = 6;
    r[i] = 1;
    sn = Math.sin(a);
    cs = Math.cos(a);
    cx[i] = Math.random() * doc_width + 1;
    cy[i] = Math.random() * doc_height + 1;
    x[i] = r[i] * sn + cx[i];
    y[i] = cy[i];
    }
    //计算雪花位置,从新位置上出现,看起来就像是新产生的一样。
    function makeSnow() {
    r[i] = 1;
    cx[i] = Math.random() * doc_width + 1;
    cy[i] = 1;
    x[i] = r[i] * sn + cx[i];
    y[i] = r[i] * cs + cy[i];
    }
    //雪花下落的计算
    function updateSnow() {
    r[i] += s;
    x[i] = r[i] * sn + cx[i];
    y[i] = r[i] * cs + cy[i];
    }
    //在NS浏览器上处理雪片下落的主程序
    function SnowdropNS() {
    for (i = 0; i < no; ++ i) { //依次处理每片雪花
    updateSnow();   //下落
    if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) { //如果超出屏幕范围
    makeSnow();       //则调整雪片到新位置上
    doc_width = self.innerWidth;     //更新页面宽度数据
    doc_height = self.innerHeight;     //更新页面高度数据
    }
    document.layers["dot"+i].top = y[i];  //改变层的Y坐标,应用新的位置
    document.layers["dot"+i].left = x[i];  //改变层的X坐标,应用新的位置
    }
    setTimeout("SnowdropNS()", speed);
    }
    //在IE浏览器上处理雪片下落的主程序
    function SnowdropIE() {
    for (i = 0; i < no; ++ i) { //依次处理每片雪花
    updateSnow();//下落
    if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) { //如果超出屏幕范围
    makeSnow();      //则调整雪片到新位置上
    doc_width = document.body.clientWidth;    //更新页面宽度数据
    doc_height = document.body.clientHeight;   //更新页面高度数据
    }
    document.all["dot"+i].style.pixelTop = y[i];    //改变层的坐标,应用新的位置
    document.all["dot"+i].style.pixelLeft = x[i];
    }
    setTimeout("SnowdropIE()", speed);     //准备下一次下落过程。
    }
    if (ns4up) { //如果是NS
    SnowdropNS(); //调用SnowdropNS使雪片下落
    }
    else
    if (ie4up) {  //如果是NS
    SnowdropIE(); //调用SnowdropIE使雪片下落
    }
    -->
    </script>
    </body>
    </html>
    <br><br><hr>
    
时间: 2024-08-04 03:21:15

一款js生成的不错的页面上雪花飞舞效果的相关文章

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"> <head> <title>JS制作的可控制风级的雪花飘落效果|kid

页面上水平飞舞的图片

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>页面上水平飞舞的图片丨石家庄展柜厂|石家庄活动隔断</title> </head> <body onload="next();"> <script language="J

jQuery 通过JS 生成一个自定义下载页面

有时需要通过JS生成一个下载页面,可以采用西面的方式 function getCSVData(){ // $('#tablesorter').table2CSV(); //把table转换成csv var csv_value=$('#tablesorter').table2CSV({delivery:'value'});//这是生成文件正文的,本实例可以忽略 var uri = "data:text/csv;charset=utf-8," + encodeURIComponent(cs

JS使用默认图片代替页面上无法显示的图片

1.js方法: function replaceErrorImg(obj) { obj.src="images/common/error.bmp"; } 2.jquery绑定 $('img').error(function() { $(this).attr("src", "images/common/error1.gif"); });

js实现一个砖头在页面拖拉效果

用js实现一个砖头在页面,但鼠标点击拖动时,砖头在页面上形成拖拉效果: 刚开始时: 鼠标点击拖动后: 实现代码: <html>   <head>       <meta charset="utf-8">       <style type="text/css">     *{         margin:0px;         padding:0px;        }    #zhuantou{        w

Node.js开发札记之二&#183;页面篇

前言: 原本纠结于Web 模板,选了Handlebars.后来发现页面都是弱逻辑的,不支持复杂逻辑表达式.几乎要放弃之际,想起了Javascript中eval函数.虽然eval函数很强大,强大到可以"凭空"生成对象或执行代码,但总觉得他破坏了代码的优雅性.加之"eval"和"evil"(邪恶)长得挺像的.Eval函数的印象不太好,大多数时候将其当做"禁手".这时候反正也没有什么好办法了.通过Handlebars自定义函数使用e

前端学习-使用JS库Leaflet.js生成世界地图并获取标注地址经纬度。

介绍:Leaflet是一个开源的JavaScript库,对移动端友好且对地图有很好的交互性. 大小仅仅只有 33 KB, 同时具有大多数地图所需要的特点. Leaflet设计的非常简单易懂, 同时具有很好的性能和易用性. 它在桌面端和移动端都工作的相当高效,并有大量的插件用于扩张Leaflet的功能.微信公众号:673399718嘻嘻demo图如下: 使用leaflet.js生成世界地图非常方便,配置参数记录下,有兴趣的可以看看本例中引入jquery操作dom.首先:在页面的头部引入css文件c

微软Connect教程系列--自动生成增删改查页面工具介绍(二)

本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插件化. 即config.json可以在项目中不存在,你可以用xml文件或其他方式创建数据库连接. 2.获取nuget包更便捷 打开project.json,在dependencies节点输入“Newtonsoft.json”,并选择好相应版本,保存后,vs的引用就会自动从nuget上下载newton

自己做一款简易的chrome扩展--清除页面广告

大家肯定有这样的经历,浏览网页的时候,左右两端广告,诸如“屠龙宝刀,点击就送”,以及最近火的不行的林子聪37传奇霸业什么“霸业面具,霸业吊坠”的魔性广告总是充斥我们的眼球. 当然有现成的扩展程序或者插件(两者概念稍有不同)可以清除页面广告,但是既然身为一名程序猿,尤其是FEDer,为什么不尝试一下自己写一个清除广告的扩展程序呢.其实,编写一个浏览器扩展程序十分简单,尤其是chrome扩展,可以完全使用前端技术(HTML/CSS/JS)完成一个自己编写的扩展程序.让我们一步一步,学习一下如何编写一