<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        javascript如何實(shí)現(xiàn)小球跳動(dòng)效果

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:00:52
        文檔

        javascript如何實(shí)現(xiàn)小球跳動(dòng)效果

        javascript如何實(shí)現(xiàn)小球跳動(dòng)效果:這次給大家?guī)韏avascript如何實(shí)現(xiàn)小球跳動(dòng)效果,javascript實(shí)現(xiàn)小球跳動(dòng)效果的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。今天介紹的是一種通過javascript實(shí)現(xiàn)的一種炫酷的動(dòng)畫效果,具體實(shí)現(xiàn)特效我通過圖片展示給大家還有釋放后這些小球會(huì)在一個(gè)指定
        推薦度:
        導(dǎo)讀javascript如何實(shí)現(xiàn)小球跳動(dòng)效果:這次給大家?guī)韏avascript如何實(shí)現(xiàn)小球跳動(dòng)效果,javascript實(shí)現(xiàn)小球跳動(dòng)效果的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。今天介紹的是一種通過javascript實(shí)現(xiàn)的一種炫酷的動(dòng)畫效果,具體實(shí)現(xiàn)特效我通過圖片展示給大家還有釋放后這些小球會(huì)在一個(gè)指定

        這次給大家?guī)韏avascript如何實(shí)現(xiàn)小球跳動(dòng)效果,javascript實(shí)現(xiàn)小球跳動(dòng)效果的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

        今天介紹的是一種通過javascript實(shí)現(xiàn)的一種炫酷的動(dòng)畫效果,具體實(shí)現(xiàn)特效我通過圖片展示給大家


        彈球釋放時(shí)候的效果


        還有釋放后這些小球會(huì)在一個(gè)指定范圍內(nèi)進(jìn)行運(yùn)動(dòng),最關(guān)鍵的部分就是這些小球的各種樣式都是隨機(jī)獲取的,所以這樣才出現(xiàn)了一個(gè)炫酷的效果,主要使用到的隨機(jī)數(shù)生成的代碼如下:

        //獲取一個(gè)范圍內(nèi)的隨機(jī)數(shù)random返回一個(gè)大于0小于1的一個(gè)隨機(jī)數(shù) 
         function selectFrom(Lowervalue,upperValue){ 
         var choices=upperValue-Lowervalue+1; 
         return Math.floor(Math.random()*choices+Lowervalue); 
         }

        之后這些小球的各種樣式通過隨機(jī)函數(shù)獲得,剩下的一部分是就是有關(guān)定位方面的,每一個(gè)小球都是一個(gè)p,其都是絕對(duì)定位,通過offsetLeft來獲取這些小球的相對(duì)于父容器的位置,防止其跑出邊界,只要實(shí)現(xiàn)方式是,通過offsetLeft獲得這個(gè)p的相對(duì)位置后,在判斷當(dāng)期移動(dòng)到邊界的時(shí)候,讓這個(gè)p的速度等于速度的相反數(shù),

         //設(shè)置運(yùn)行速度
         Circle.prototype.run=function(){
         var maxLeft=1435-this.r*2; var maxTop=700-this.r*2; var that=this; //使用間隔式計(jì)時(shí)器
         setInterval(function(){
         var left=that.p.offsetLeft + that.speedX; var top=that.p.offsetTop + that.speedY; if(left<=0)
         {
         left=0;
         that.speedX *=-1;
         } if(top<=0)
         {
         top=0;
         that.speedY *=-1;
         } if(left>=maxLeft)
         {
         left=maxLeft;
         that.speedX*=-1;
         } if(top>=maxTop)
         {
         top=maxTop;
         that.speedY*=-1;
         }
         that.p.style.left=left+"px";
         that.p.style.top=top+"px";
         },30)
         }

        之后就看到這些彈球在一個(gè)范圍內(nèi)運(yùn)動(dòng)的效果了:


        這里寫圖片描述


        整個(gè)效果的完整代碼如下:

        <!DOCTYPE html><html>
         <head>
         <meta charset="UTF-8">
         <title>躁動(dòng)的小球</title>
         <style type="text/css">
         *{ margin: 0; padding: 0; }
         p{ border-radius: 50%; position: absolute; }
         body{ width: 100%; height: 100%; background-image: url(img/1369966956468.jpg) ; background-repeat: no-repeat; }
         </style>
         <script type="text/javascript">
         //獲取一個(gè)范圍內(nèi)的隨機(jī)數(shù)random返回一個(gè)大于0小于1的一個(gè)隨機(jī)數(shù)
         function selectFrom(Lowervalue,upperValue){
         var choices=upperValue-Lowervalue+1; return Math.floor(Math.random()*choices+Lowervalue);
         } function Circle(){
         this.p=document.createElement("p"); this.r=selectFrom(10,40); this.left=selectFrom(0,100); this.top=selectFrom(0,50); this.bg='rgba('+selectFrom(0,255)+','+selectFrom(0,255)+','+selectFrom(0,255)+','+Math.random()+')'; this.speedX=selectFrom(-10,10); this.speedY=selectFrom(-8,8); 
         } //繪制小球
         Circle.prototype.drawCirle=function(parent){
         //將parent設(shè)置成該p的一個(gè)屬性
         this.parent=parent; var style=this.p.style;
         style.width=this.r*2+"px";
         style.height=this.r*2+"px";
         style.left=this.left+"px";
         style.top=this.top+"px";
         style.backgroundColor=this.bg;
         parent.appendChild(this.p); 
         } //設(shè)置運(yùn)行速度
         Circle.prototype.run=function(){
         var maxLeft=1435-this.r*2; var maxTop=700-this.r*2; var that=this; //使用間隔式計(jì)時(shí)器
         setInterval(function(){
         var left=that.p.offsetLeft + that.speedX; var top=that.p.offsetTop + that.speedY; if(left<=0)
         {
         left=0;
         that.speedX *=-1;
         } if(top<=0)
         {
         top=0;
         that.speedY *=-1;
         } if(left>=maxLeft)
         {
         left=maxLeft;
         that.speedX*=-1;
         } if(top>=maxTop)
         {
         top=maxTop;
         that.speedY*=-1;
         }
         that.p.style.left=left+"px";
         that.p.style.top=top+"px";
         },30)
         } 
         </script>
         </head>
         <body>
         <p id=""></p>
         <script type="text/javascript">
         for(var i=0;i<100;i++)
         { //這些函數(shù)里面涉及原型,通過 Circle()函數(shù)可以找到指向draw,run函數(shù)。
         var c = new Circle();
         c.drawCirle(document.body);
         c.run();
         } </script>
         </body></html>

        這里面還涉及到this的使用,在函數(shù)內(nèi)部再使用另一個(gè)函數(shù)時(shí),一定要判斷當(dāng)前函數(shù)的作用域,分清this指向的作用于域,在內(nèi)部調(diào)用時(shí),在外部可以使用變量來保存當(dāng)前this指向的作用域,希望這些對(duì)你的學(xué)習(xí)能有所幫助。

        相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!

        推薦閱讀:

        CSS的常見兼容性問題解決方案

        web前端關(guān)于瀏覽器兼容性問題的解決方案

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript如何實(shí)現(xiàn)小球跳動(dòng)效果

        javascript如何實(shí)現(xiàn)小球跳動(dòng)效果:這次給大家?guī)韏avascript如何實(shí)現(xiàn)小球跳動(dòng)效果,javascript實(shí)現(xiàn)小球跳動(dòng)效果的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。今天介紹的是一種通過javascript實(shí)現(xiàn)的一種炫酷的動(dòng)畫效果,具體實(shí)現(xiàn)特效我通過圖片展示給大家還有釋放后這些小球會(huì)在一個(gè)指定
        推薦度:
        標(biāo)簽: 實(shí)現(xiàn) js 彈跳
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品一卡2卡3卡三卡四卡| 国产在线国偷精品免费看| 99视频免费播放| 亚洲一区免费观看| 67194成手机免费观看| 亚洲精品国产第1页| 人妻无码一区二区三区免费| 亚洲邪恶天堂影院在线观看| 99久久99久久免费精品小说| 亚洲欧洲日产v特级毛片| 亚洲无人区一区二区三区| 亚洲一区在线视频| 特级做A爰片毛片免费69| 亚洲色偷精品一区二区三区| 久久九九全国免费| 亚洲一区精品中文字幕| 福利免费观看午夜体检区| 欧美色欧美亚洲另类二区| 亚洲天堂免费在线视频| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 国产成人AV片无码免费| 亚洲精品国精品久久99热| 自拍偷区亚洲国内自拍| 免费h成人黄漫画嘿咻破解版| 国产视频精品免费视频| 日本久久久久亚洲中字幕| 欧美日韩国产免费一区二区三区 | 一级毛片无遮挡免费全部| 精品久久香蕉国产线看观看亚洲| 毛片在线全部免费观看| 亚洲一卡一卡二新区无人区| 亚洲人成网站色在线入口| 三年片在线观看免费观看大全动漫 | 亚洲avav天堂av在线网爱情| 国产在线19禁免费观看国产| 最好免费观看高清在线| 亚洲kkk4444在线观看| 久久亚洲国产欧洲精品一| 最新中文字幕免费视频| 亚洲免费观看网站| 亚洲精品免费网站|