JavaScript隨機漂浮廣告詳解
隨機漂浮廣告在很多網站都有應用,在網頁中隨機運動,具有良好的展現效果。
是否有利於提高網站的人性化程度可能就另當別論,很多瀏覽者對此比較厭煩,有這樣的需求,作為程式設計師的我們就要滿足,下面就通過程式碼例項介紹一下如何實現此效果,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> div#roll { width:100px; height:100px; background-color:green; color:#fff; position:absolute; font-size:12px; text-align:center; line-height:100px; } </style> <script type="text/javascript"> var interval=null; var ggRoll=null; window.onload=function(){ ggRoll={ roll:document.getElementById("roll"), speed:20, statusX:1, statusY:1, x:100, y:300, winW:document.documentElement.clientWidth-document.getElementById("roll").offsetWidth, winH:document.documentElement.clientHeight-document.getElementById("roll").offsetHeight, Go:function(){ this.roll.style.left = this.x + 'px'; this.roll.style.top = this.y + 'px'; this.x = this.x + (this.statusX ? -1 : 1) if(this.x < 0) { this.statusX = 0 } if(this.x > this.winW) { this.statusX = 1 } this.y=this.y + (this.statusY ? -1 : 1) if(this.y < 0) { this.statusY = 0 } if (this.y > this.winH) { this.statusY = 1 } } } interval=setInterval(function(){ggRoll.Go()},ggRoll.speed); ggRoll.roll.onmouseover=function(){clearInterval(interval)}; ggRoll.roll.onmouseout=function(){interval=setInterval(function(){ggRoll.Go()},ggRoll.speed)}; } </script> </head> <body> <div id="roll">螞蟻部落歡迎您</div> </body> </html>
一個小的div塊會在網頁中四處飄動,下面就詳細介紹一下它的實現過程。
一.程式碼註釋:
(1).var interval=null,宣告一個變數並賦值為null,後面會用作定時器函式的返回值。
(2).var ggRoll=null,宣告一個變數,用來儲存一個物件。
(3).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(4).ggRoll={},建立一個物件直接量。
(5).roll:document.getElementById("roll"),獲取id屬性值為roll的物件。
(6).speed:20,規定飄動速度,其實即使定時器函式每隔多長時間執行一次。
(7).statusX:1,規定每執行一次函式,left屬性值變化的幅度。
(9).statusY:1,規定沒執行一次函式,top舒心只變化的幅度。
(10).x:100,規定初始狀態下left屬性的值。
(11).y:300,規定初始狀態top的屬性的值。
(12).winW:document.documentElement.clientWidth-document.getElementById("roll").offsetWidth,差值用來測算left屬性值的極限。
(13).winH:document.documentElement.clientHeight-document.getElementById("roll").offsetHeight,差值用來測算top屬性值的極限。
(14).Go:function(){},宣告一個函式,它完成了漂浮的核心。
(15).this.roll.style.left = this.x + 'px',設定div的left屬性值。
(16).this.roll.style.top = this.y + 'px',設定div的top屬性值。
(17).this.x = this.x + (this.statusX ? -1 : 1),如果statusX=1則每次增1px,否則減1px。
(18).if(this.x < 0) { this.statusX = 0 },如果left屬性值小於0,那麼將statusX 設定為0。
(18).if(this.x > this.winW) { this.statusX = 1 },如果left屬性值大於winW,也就是div要超出右邊界了,就將statusX值設定為1。
二.相關閱讀:
(1).clientWidth屬性可以參閱clientWidth一章節。
(2).offsetWidth屬性可以參閱offsetWidth用法一章節。
(3).setInterval()函式可以參閱setInterval()一章節。
(4).clearInterval()函式可以參閱clearInterval()方法一章節。
相關文章
- JavaScript隨機漂浮碰壁效果JavaScript隨機
- 隨機漂浮圖片廣告例項程式碼隨機
- 漂浮廣告是什麼?漂浮廣告如何設定
- canvas圓形隨機漂浮效果Canvas隨機
- canvas小球隨機漂浮碰撞程式碼例項Canvas隨機
- Python隨機數與隨機字串詳解Python隨機字串
- canvas實現的隨機生成漂浮小球程式碼例項Canvas隨機
- JavaScript倒數計時隱藏廣告詳解JavaScript
- JavaScript 打字機效果詳解JavaScript
- JavaScript非同步機制詳解JavaScript非同步
- [隨機數詳解]生成一個隨機數,生成指定範圍的隨機數及隨機陣列去重隨機陣列
- JavaScript 生成隨機數JavaScript隨機
- javascript元素滑鼠跟隨效果程式碼例項詳解JavaScript
- Python隨機函式random使用詳解Python隨機函式random
- Python隨機數生成模組random詳解Python隨機random
- [外掛擴充套件]廣告圖片漂浮外掛套件
- JavaScript陣列隨機排序JavaScript陣列隨機排序
- javascript 隨機數區間JavaScript隨機
- Javascript 執行機制詳解,Event LoopJavaScriptOOP
- JavaScript 執行機制--Event Loop詳解JavaScriptOOP
- 【轉】javascript執行機制之this詳解JavaScript
- JavaScript this詳解JavaScript
- JavaScript隨機數的應用JavaScript隨機
- javaScript隨機排序演算法JavaScript隨機排序演算法
- JavaScript生成隨機顏色值JavaScript隨機
- JavaScript為URL新增隨機數JavaScript隨機
- javascript隨機生成字串,可以用來生成隨機密碼JavaScript隨機字串密碼
- JavaScript執行機制詳解:再談EvemtJavaScript
- 跟隨滾動條漂浮的返回頂部按鈕效果
- NumPy 陣列排序、過濾與隨機數生成詳解陣列排序隨機
- JavaScript實現隨機抽獎效果JavaScript隨機
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- JavaScript 背景顏色隨機變化JavaScript隨機
- JavaScript 隨機數方法 Math.random()JavaScript隨機random
- JavaScript生成4位隨機數效果JavaScript隨機
- 詳解JavaScript原型JavaScript原型
- JavaScript Promise 詳解JavaScriptPromise
- JavaScript之this詳解JavaScript