JS實現(xiàn)光滑展開合攏的菜單效果代碼
本文實例講述了JS實現(xiàn)光滑展開合攏的菜單效果代碼。分享給大家供大家參考。具體如下:
這是一個光滑展開又合攏的JS菜單效果,無jQuery插件,完全JavaScript代碼實現(xiàn),沒有過多修飾,有興趣的美化一下,肯定是款不錯的折疊菜單。
運(yùn)行效果截圖如下:
在線演示地址如下:
http://demo.jb51.net/js/2015/js-swift-fade-in-out-menu-style-codes/
具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="html/txt; charset=utf-8" /> <title>光滑展開合攏的JS菜單效果</title> <style> *{margin:0;padding:0;} ul,li{list-style:none;} #con{width:164px; margin:50px auto 0;} #con h4.top{ height:4px; width:164px; overflow:hidden;} #con h4.bottom{height:4px; width:164px;overflow:hidden;} #con div{height:0px; overflow:hidden;} #con h3{border-top:2px solid #fff; border-bottom:1px solid #D6EFFF;} </style> <script language="javascript"> var speed = 30; var oCon = null; var oH3List = null; var oDivList = null; var oUlList = null; var oldNum = null; var clickNum = null; var hideTimer=null; var showTimer=null; window.onload=function(){ oCon = document.getElementById("con"); oH3List = oCon.getElementsByTagName("h3"); oUlList = oCon.getElementsByTagName("ul"); oDivList = oCon.getElementsByTagName("div"); for(var i=0;i<oUlList.length;i++){ oH3List[i].xuhao=i; oH3List[i].onclick=function(){ clickNum =this.xuhao; changeCatalog(); }; } } function changeCatalog(){ var old_num_2,click_num_2; old_num_2 = null; click_num_2= null; if(oldNum==null){ click_Num_2=clickNum; showTimer = setInterval("showUl("+click_Num_2+")",speed); }else if(oldNum == clickNum){ old_num_2=oldNum; hideTimer = setInterval("hideUl("+old_num_2+")",speed); }else{ old_num_2=oldNum; click_num_2=clickNum; hideTimer = setInterval("hideUl("+old_num_2+")",speed); showTimer = setInterval("showUl("+click_num_2+")",speed); } } function showUl(num){ var move_num1 =Math.ceil((oUlList[num].offsetHeight-oDivList[num].offsetHeight)/10); if(move_num1>=1){ oDivList[num].style.height = oDivList[num].offsetHeight+move_num1+"px"; }else{ oldNum=num; clearInterval(showTimer); } } function hideUl(num){ var move_num2=Math.ceil((oDivList[num].offsetHeight)/10); if(move_num2>0){ oDivList[num].style.height=oDivList[num].offsetHeight -move_num2+"px"; }else{ clearInterval(hideTimer); if(clickNum==num){ oldNum=null; } } } </script> </head> <body> <div id="con"> <h4 class="top"></h4> <h1></h1> <h3>設(shè)計素材</h3> <div> <ul> <li>精品圖標(biāo)</li> <li>圖片幻燈</li> <li>網(wǎng)頁播放器</li> </ul> </div> <h3>模板素材</h3> <div> <ul> <li>企業(yè)網(wǎng)站</li> <li>兒童網(wǎng)站</li> <li>音樂網(wǎng)站</li> <li>Discuz模板</li> </ul> </div> <h3>腳本下載</h3> <div> <ul> <li>jQuery</li> <li>Ajax</li> <li>PHP</li> </ul> </div> <h3>網(wǎng)頁特效</h3> <div> <ul> <li>菜單</li> <li>表單</li> <li>瀏覽器</li> </ul> </div> <h4 class="bottom"></h4> </div> </body> </html>
希望本文所述對大家的JavaScript程序設(shè)計有所幫助。
- js實現(xiàn)仿京東2級菜單效果(帶延時功能)
- JS圖片根據(jù)鼠標(biāo)滾動延時加載的實例代碼
- JS運(yùn)行耗時操作的延時顯示方法
- 網(wǎng)頁圖片延時加載的js代碼
- 一段實現(xiàn)頁面上的圖片延時加載的js代碼
- javascript延時重復(fù)執(zhí)行函數(shù) lLoopRun.js
- 延時重復(fù)執(zhí)行函數(shù) lLoopRun.js
- JS實現(xiàn)無限級網(wǎng)頁折疊菜單(類似樹形菜單)效果代碼
- JS實現(xiàn)自動固定頂部的懸浮菜單欄效果
- JS實現(xiàn)帶有抽屜效果的產(chǎn)品類網(wǎng)站多級導(dǎo)航菜單代碼
- JS實現(xiàn)具備延時功能的滑動門菜單效果
相關(guān)文章
JS關(guān)閉窗口或JS關(guān)閉頁面的幾種代碼分享
這篇文章介紹了JS關(guān)閉窗口或JS關(guān)閉頁面的幾種代碼,有需要的朋友可以參考一下2013-10-10使用javascript將時間轉(zhuǎn)換成今天,昨天,前天等格式
這篇文章主要介紹了使用javascript將時間轉(zhuǎn)換成今天,昨天,前天等格式的相關(guān)資料,需要的朋友可以參考下2015-06-06js以分隔符分隔數(shù)組中的元素并轉(zhuǎn)換為字符串的方法
下面小編就為大家?guī)硪黄猨s以分隔符分隔數(shù)組中的元素并轉(zhuǎn)換為字符串的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼
這篇文章主要介紹了JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02