最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

下雪了 javascript實現(xiàn)雪花飛舞

 更新時間:2020年08月02日 10:40:12   作者:九成  
下雪了,這篇文章主要介紹了javascript實現(xiàn)雪花飛舞,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了雪花飛舞效果javascript實現(xiàn),供大家參考,具體內(nèi)容如下

原理:

1、js動態(tài)創(chuàng)建DIV,指定CLASS類設(shè)置不同的背景圖樣式顯示不同的雪花效果。

2、js獲取創(chuàng)建的DIV并改變其top屬性值,當(dāng)下落的高度大于屏幕高后刪除該移動div

3、好像不夠完善勿噴

效果預(yù)覽:http://wjf444128852.github.io/demo02/snow/index.html

HTML代碼:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>雪花飛舞</title>
 <link rel="stylesheet" href="css/index.css">
 <script src="js/move.js"></script>
</head>
<body>
 <div class="snow_parent" id="js_sonw">
 
 </div>
</body>
</html>

CSS代碼

*{
 margin:0;
 padding:0;
 list-style: none;
 border: none;
}
body{
 width: 100%;
 height:600px;
 background:#000;
}
.snow_parent{
 position: relative;
 width: 100%;
 height:100%;
 overflow: hidden;
 margin: 0 auto;
}
.snow_parent div.parent{
 background-image: url(../img/snow.png);
 float: left;
 -webkit-transform: scale(.1);
 -moz-transform: scale(.1);
 -o-transform: scale(.1);
 -ms-transform: scale(.1);
 transform: scale(.1);
 position: absolute;
}
.snow_one{
 width: 180px;
 height: 180px;
 background-position:0 0;
 background-repeat: no-repeat;
 left:-70px;
 top: -95px;
}
.snow_two{
 width: 140px;
 height: 140px;
 background-position:-220px -18px;
 left:-30px;
 top: -75px;
}
.snow_three{
 width:150px;
 height: 150px;
 background-position:-400px -15px;
 left:-20px;
 top: -80px;
}
.snow_four{
 width: 160px;
 height: 160px;
 background-position:-10px -206px; 
}
.snow_four{
 left:-10px;
 top: -85px;
}

JS代碼:

/*
 creatBy jiucheng 2016-4-24
*/ 
window.onload=function(){
 init();
}
// 創(chuàng)建DIV
function creatDiv(){
 // 創(chuàng)建DIV并追加到父元素
 var snowDiv=document.createElement("div");
 document.getElementById("js_sonw").appendChild(snowDiv);
 // 讓創(chuàng)建DIV的class為隨機,顯示不同的雪花
 var whatName=["snow_one parent","snow_two parent","snow_three parent","snow_four parent"];
 var index=Math.floor(Math.random()*whatName.length);
 snowDiv.className=whatName[index];
 // 獲取該DIV的left屬性值(隨機的)并賦值給創(chuàng)建的DIV
 var whatLeft=getLeft()+'px';
 snowDiv.style.left=whatLeft;
 return snowDiv;
}
// 獲取隨機left屬性值
function getLeft(){
 // 獲取該DIV的最大left屬性值即父元素的寬度
 var eleParent=document.getElementById("js_sonw");
 // 獲取父元素的所有style樣式
 var style=window.getComputedStyle(eleParent);
 // CSS中的left是負(fù)數(shù)這里得減去下
 var maxWidth=parseInt(style.width)+70;
 // 讓創(chuàng)建的DIV的left為隨機值
 var randomLeft=Math.floor(Math.random()*maxWidth);
 return randomLeft;
}
// 讓其向下移動
function moveDown(){
 // 獲取移動對象
 var moveElem=creatDiv();
 // 獲取移動對象的所有style屬性值
 var eleStyle=window.getComputedStyle(moveElem);
 // 獲取它的top屬性值
 var eleTop=parseInt(eleStyle.top);
 // 設(shè)置定時器動態(tài)改變移動對象的top屬性值
 var t=setInterval(function(){
 eleTop++;
 // 把新的top值付給移動對象
 moveElem.style.top=eleTop+"px";
 // 當(dāng)下落到屏幕的高度后停止定時器并把該移動對象從父元素刪除
 if(eleTop>=window.innerHeight){ 
  clearInterval(t);
  document.getElementById("js_sonw").removeChild(moveElem);
 } 
 },10);//下落速度沒10毫秒下落1px
}
function init(){
 // 動態(tài)獲取并設(shè)置body的高度
 document.body.style.height=window.innerHeight+"px";
 // 每500毫秒創(chuàng)建一個移動對象并執(zhí)行移動函數(shù)
 var t=setInterval(function(){
 moveDown();
 },100);
}

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)javascript程序設(shè)計有所幫助。

相關(guān)文章

  • 輕松實現(xiàn)js選項卡切換效果

    輕松實現(xiàn)js選項卡切換效果

    這篇文章主要幫助大家輕松實現(xiàn)js選項卡切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 常見JS前端接口校驗方式總結(jié)

    常見JS前端接口校驗方式總結(jié)

    作為一名優(yōu)秀的接口調(diào)用工程師,對接口的返回信息進行校驗是必不可少的,本文整理的是一些常用的校驗方式,希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2023-05-05
  • 淺析jsopn跨域請求原理及cors(跨域資源共享)的完美解決方法

    淺析jsopn跨域請求原理及cors(跨域資源共享)的完美解決方法

    由于同源策略的緣故,ajax不能向不同域的網(wǎng)站發(fā)出請求。接下來通過本文給大家介紹jsopn跨域請求原理及cors(跨域資源共享)的完美解決方法,需要的朋友可以參考下
    2017-02-02
  • JavaScript實現(xiàn)身份證驗證代碼

    JavaScript實現(xiàn)身份證驗證代碼

    本文給大家分享的是使用javascript實現(xiàn)身份驗證的規(guī)則以及代碼,非常的簡單實用,有需要的小伙伴可以參考下。
    2016-02-02
  • Javascript實現(xiàn)單選框效果

    Javascript實現(xiàn)單選框效果

    這篇文章主要為大家詳細(xì)介紹了Javascript實現(xiàn)單選框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 基于JS實現(xiàn)類似支付寶支付密碼輸入框

    基于JS實現(xiàn)類似支付寶支付密碼輸入框

    這篇文章主要介紹了基于JS實現(xiàn)類似支付寶支付密碼輸入框功能,密碼框只準(zhǔn)輸入數(shù)字且只可以輸入6位數(shù)字,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • JS實現(xiàn)輪播圖案例

    JS實現(xiàn)輪播圖案例

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)輪播圖案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • JavaScript數(shù)據(jù)類型轉(zhuǎn)換實例(其他類型轉(zhuǎn)字符串、數(shù)值型、布爾類型)

    JavaScript數(shù)據(jù)類型轉(zhuǎn)換實例(其他類型轉(zhuǎn)字符串、數(shù)值型、布爾類型)

    這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)資料,本文分別介紹了其他類型轉(zhuǎn)為字符串、其他類型轉(zhuǎn)為數(shù)值型以及其他類型轉(zhuǎn)為布爾類型的方法,需要的朋友可以參考下
    2021-07-07
  • CodeMirror實現(xiàn)代碼對比功能(插件react vue)

    CodeMirror實現(xiàn)代碼對比功能(插件react vue)

    這篇文章主要介紹了CodeMirror實現(xiàn)代碼對比功能,用到的插件有vue或者react都需要這一步且同樣的下載方式,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • JS中隊列和雙端隊列實現(xiàn)及應(yīng)用詳解

    JS中隊列和雙端隊列實現(xiàn)及應(yīng)用詳解

    這篇文章主要介紹了JS中隊列和雙端隊列實現(xiàn)及應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

亳州市| 雷山县| 临城县| 利津县| 舞阳县| 乡城县| 新安县| 长武县| 衡山县| 遵义市| 乌拉特后旗| 昌江| 六枝特区| 新干县| 阜康市| 兴安盟| 孟津县| 汝城县| 九龙县| 高雄市| 固阳县| 宁武县| 梁河县| 保靖县| 镶黄旗| 南投市| 电白县| 临邑县| 桐庐县| 新绛县| 灵武市| 孟州市| 湟源县| 罗山县| 呼图壁县| 株洲市| 黎川县| 博客| 德安县| 新和县| 津南区|