JavaScript倒數計時隱藏廣告詳解
當前廣告力求展現效果的同時,兼顧人性化。
例如在網站頂部有一個橫幅廣告,在展現一定時間之後,能夠自動隱藏,並且有倒數計時效果,類似於紅綠燈倒數計時,更加符合人性心理。下面分享一段類似的程式碼,並詳細介紹一下它的實現過程。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> body, div, a, span, i { margin: 0; padding: 0; } .adtop { position: relative; width: 100%; height: 80px; margin: 0 auto; } .adtop a { position: absolute; width: 100%; height: 80px; background: #666; } .adtop span { position: absolute; right: 6px; top: 10px; background: #fff; width: 150px; height: 20px; padding-left: 10px; } .adtop span i { color: red; } </style> <script> window.onload = function () { var adtop = document.getElementById("adtop"); var adtopi = adtop.getElementsByTagName("i")[0]; function adClose(s) { s--; if (s < 10) { adtopi.innerHTML = "0" + s + " "; } else { adtopi.innerHTML = s; } if (s == 0) { adTopDo(0); return; } return setTimeout(function () { adClose(s) }, 1000); }; function adTopDo(height) { height -= 4; if (height >= -80) { adtop.style.marginTop = height + "px"; setTimeout(function () { adTopDo(height) }, 20); }; } adClose(20); } </script> </head> <body> <div class="adtop" id="adtop"> <a href="#"></a> <span><i>10 </i>秒之後自動關閉</span> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload = function () {},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var adtop = document.getElementById("adtop"),獲取id屬性值為adtop的元素物件。
(3).var adtopi = adtop.getElementsByTagName("i")[0]獲取i標籤元素物件。
(4).function adClose(s) {},函式的引數是剩餘的秒數。
(5).s--,秒數減1。
(6).if (s < 10) {
adtopi.innerHTML = "0" + s + " ";
} else {
adtopi.innerHTML = s;
},如果秒數是個位數,那麼前面加0,否則原樣輸出。
(7).if (s == 0) {
adTopDo(0);
return;
},如果倒數計時完畢,那麼就呼叫函式隱藏廣告層,並跳出函式的執行。
(8).setTimeout(function () { adClose(s) }, 1000),一秒後遞迴呼叫adClose()函式。
(9).function adTopDo(height) {},引數是起始上外邊距值。
(10).height -= 4,每次執行height值減4。
(11).if (height >= -80) {
adtop.style.marginTop = height + "px";
setTimeout(function () { adTopDo(height) }, 20);
},80是廣告的高度。
如果height值大於等於-80,也就是說廣告還沒有完全隱藏。
那麼繼續遞迴呼叫adTopDo()函式。
二.相關閱讀:
(1).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(2).innerHTML參閱JavaScript innerHTML一章節。
(3).setTimeout()參閱JavaScript setTimeout()一章節。
相關文章
- css超出部分隱藏,js倒數計時CSSJS
- JavaScript倒數計時60秒程式碼詳解JavaScript
- JavaScript倒數計時JavaScript
- jQuery 倒數計時效果詳解jQuery
- js 活動倒數計時詳解JS
- jQuery精確到毫秒倒數計時詳解jQuery
- JavaScript 年月日倒數計時JavaScript
- JavaScript 倒數計時關閉頁面JavaScript
- JavaScript 倒數計時60秒程式碼JavaScript
- JavaScript 倒數計時踩坑集錦JavaScript
- JavaScript倒數計時程式碼例項JavaScript
- JavaScript 前端倒數計時糾偏實現JavaScript前端
- JavaScript 原生 小案例 60秒倒數計時JavaScript
- JavaScript春節倒數計時程式碼例項JavaScript
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- JavaScript 原生 小案例 秒殺時鐘倒數計時JavaScript
- javascript小時、分鐘和秒倒數計時效果JavaScript
- JavaScript可以開始和停止的倒數計時JavaScript
- js——倒數計時JS
- JS倒數計時JS
- JavaScript年月日精確到秒倒數計時JavaScript
- javascript日期格式化和倒數計時外掛JavaScript
- JavaScript簡訊重發按鈕可用倒數計時JavaScript
- Javascript倒數計時元件new TimeSpan(hours, minutes, minutes)JavaScript元件
- Kookjs 倒數計時JS
- 倒數計時34天
- JavaScript輸入字串字數倒計JavaScript字串
- laravel 9 倒數計時了Laravel
- 小程式倒數計時深究
- canvas環形倒數計時Canvas
- 倒數計時門栓(CountDownLatch)CountDownLatch
- JavaScript隨機漂浮廣告詳解JavaScript隨機
- JavaScript計算時間差詳解JavaScript
- javascript實現表單可點選倒數計時程式碼JavaScript
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- js倒數計時 實現傳送驗證碼倒數計時60sJS
- Flutter倒數計時/計時器的實現Flutter
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼