原生js實(shí)現(xiàn)網(wǎng)頁頂部自動下拉/收縮廣告效果
知識要點(diǎn)
1.實(shí)現(xiàn)原理:
通過遞歸改變div的高度值達(dá)到緩慢下拉的效果。
2.一共分為3個步驟我寫了三個函數(shù)
第一個show()函數(shù)(下拉):初始值高度h<300的話 h+5 反之return退出停止,調(diào)用setTimeout方法30毫秒執(zhí)行一次+5
第二個hide()函數(shù)(收回):只是高度的判斷不同高度h-5 反之return退出停止,調(diào)用setTimeout方法30毫秒執(zhí)行一次-5
第三個dd()函數(shù)(再次彈出):這里要注意的是第二次彈出的div是一個新的div把它的高度設(shè)置為0,實(shí)現(xiàn)原理與第一個函數(shù)一樣,
并且一定要在第二個函數(shù)(收回)執(zhí)行后再執(zhí)行
完整代碼
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>demo</title> <style> body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;} h1,h2,h3,h4,h5,h6{font-size:100%;} address,cite,dfn,em,var{font-style:normal;} code,kbd,pre,samp{font-family:courier new,courier,monospace;} ul,ol{list-style:none;} a{text-decoration:none;} a:hover{text-decoration:none;} sup{vertical-align:text-top;} sub{vertical-align:text-bottom;} legend{color:#000;} fieldset,img{border:0;} button,input,select,textarea{font-size:100%;} table{border-collapse:collapse;border-spacing:0;} .clear{clear: both;float: none;height: 0;overflow: hidden;} #container{width: 600px; margin: 0 auto;} p{ line-height: 28px; } .hidden{background: #E6E6E6; text-align: center; height: auto; overflow: hidden;} .show{ background: #808080;text-align: center; height: 0; overflow: hidden; } </style> </head> <body> <div id="container"> <div class="hidden" id="hid"><p>廣告圖</p></div> <div class="show" id="sho"><p>哈哈哈哈改裝成功</p></div> </div> <script type="text/javascript"> window.onload=function aa(){ show(); setTimeout("hide()",3000); } var h=0; var hid=document.getElementById("hid"); var sho=document.getElementById("sho"); function show(){ if(h<300){ h+=5; hid.style.height=h+"px"; }else{ return; } setTimeout("show()",30); } function hide(){ if(h>0){ h-=5; hid.style.height=h+"px"; }else{ dd(); return; } setTimeout("hide()", 30); } var a=0; function dd(){ if(a<60){ a+=1; sho.style.height=a+"px"; }else{ return; } setTimeout("dd()",30); } </script> </body> </html>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
- JS實(shí)現(xiàn)關(guān)閉小廣告特效
- js實(shí)現(xiàn)左右兩側(cè)浮動廣告
- javascript實(shí)現(xiàn)循環(huán)廣告條效果
- 基于JavaScript實(shí)現(xiàn)淘寶商品廣告效果
- 用js屏蔽被http劫持的浮動廣告實(shí)現(xiàn)方法
- JS使用cookie實(shí)現(xiàn)只出現(xiàn)一次的廣告代碼效果
- JavaScript實(shí)現(xiàn)彈出廣告功能
- JavaScript實(shí)現(xiàn)廣告彈窗效果
- JavaScript cookie 跨域訪問之廣告推廣
- JS前端廣告攔截實(shí)現(xiàn)原理解析
相關(guān)文章
教你用js截取字符串開頭、結(jié)尾及兩字符串之間的內(nèi)容
在js中可以通過indexOf()方法找到指定的字符位置,再使用length屬性獲得字符串的長度,下面這篇文章主要給大家介紹了關(guān)于如何用js截取字符串開頭、結(jié)尾及兩字符串之間的內(nèi)容的相關(guān)資料,需要的朋友可以參考下2022-11-11JS獲取scrollHeight問題想到的標(biāo)準(zhǔn)問題
如果沒有文檔聲明可以用 document.body.scrollHeight,如果有文檔聲明必須用 document.documentElement.scrollHeight關(guān)于這方面的東西2007-05-05javascript中的Base64、UTF8編碼與解碼詳解
本文給大家介紹的是javascript中的Base64、UTF8編碼與解碼的函數(shù)源碼分享以及使用范例,十分實(shí)用,推薦給小伙伴們,希望大家能夠喜歡。2015-03-03獲取URL地址中的文件名和參數(shù)的javascript代碼
JS 獲取URL地址中的文件名和參數(shù),這個版本中有詳細(xì)的注釋。2009-09-09JavaScript?WebSocket實(shí)現(xiàn)實(shí)時雙向聊天
這篇文章主要為大家詳細(xì)介紹了如何基于JavaScript?WebSocket實(shí)現(xiàn)實(shí)時雙向聊天,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-04-04