js點選彈出和隱藏一個div層效果程式碼例項
本章節分享一段程式碼例項,它實現了點選標題彈出或者關閉一個div層效果。
當然裡面還有一些其他的小細節,下面就進行一下分享。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body{ text-align:center; } p{ cursor:pointer; margin:0; padding:0; font-size:24px; display:inline; } div a:link, div a:visited{ color:#666; text-decoration:none; } div a:hover{ color:#FF6600; text-decoration:underline; } div{ border:2px solid #666; background:#fff; margin:5px auto; overflow:hidden; display:none; padding:5px 10px; } ul,li{ margin:0; padding:0; } li{ list-style:none; width:70px; } li.title{ font-weight:bold; } </style> <script type="text/javascript"> var w=0; var h=0; function emotion(){ var oMenu=document.getElementById("menu"); if(w<=50){ oMenu.style.display = "block"; fnLarge(); } else{ fnSmall(); } } function fnLarge(){ var oMenu=document.getElementById("menu"); if(w<200){ w+=50; h+=25; oMenu.style.width=w+"px"; oMenu.style.height=h+"px"; window.setTimeout("fnLarge()",10); } } function fnSmall(){ var oMenu=document.getElementById("menu"); if(w>0){ w-=50; h-=25; oMenu.style.width=w+"px"; oMenu.style.height=h+"px"; window.setTimeout("fnSmall()",5); } else{ oMenu.style.display = "none"; } } window.onload=function(){ var op=document.getElementById("antzone"); var odiv=document.getElementById("menu"); var lis=odiv.getElementsByTagName("li"); op.onclick=function(){emotion();} for(var index=0;index<lis.length;index++){ lis[index].onclick=function(){ fnSmall(); } } } </script> </head> <body> <p id="antzone">螞蟻部落歡迎您</p> <div id="menu"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td width="80" valign="top" align="left"> <ul> <li class="title">ASP</li> <li><a href="#">新聞</a></li> <li><a href="#">論壇</a></li> <li><a href="#">CMS</a></li> <li></li> </ul> </td> <td width="80" valign="top" align="left"> <ul> <li class="title">;PHP</li> <li><a href="#">文章</a></li> <li><a href="#">聊天</a></li> <li><a href="#">外掛</a></li> <li><a href="#">企業</a></li> </ul> </td> <td width="80" valign="top" align="left"> <ul> <li class="title">JSP</li> <li><a href="#">AJAX</a></li> <li><a href="#">JQUERY</a></li> <li><a href="#">MYSQL</a></li> <li><a href="#">softwhy.com</a></li> </ul> </td> </tr> </table> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var w=0,宣告一個變數並賦初值為0,儲存元素的寬度。
(2).var h=0,宣告一個變數並賦初值為0,儲存元素的高度。
(3).function emotion(){
var oMenu=document.getElementById("menu");
if(w<=50){
oMenu.style.display = "block";
fnLarge();
}
else{
fnSmall();
}
},此方法可以實現元素的隱藏和顯示。
如果元素當前的寬度小於等於50,那麼就執行顯示操作,否則執行隱藏操作。
(4).function fnLarge(){
var oMenu=document.getElementById("menu");
if(w<200){
w+=50;
h+=25;
oMenu.style.width=w+"px";
oMenu.style.height=h+"px";
window.setTimeout("fnLarge()",10);
}
},以遞迴動畫的方式展現元素。
採用定時器函式遞迴呼叫函式,每執行一次元素的尺寸增加一定數目。
(5).function fnSmall(){
var oMenu=document.getElementById("menu");
if(w>0){
w-=50;
h-=25;
oMenu.style.width=w+"px";
oMenu.style.height=h+"px";
window.setTimeout("fnSmall()",5);
}
else{
oMenu.style.display = "none";
}
},和上面的原理是一樣的,只不過是隱藏元素。
(6).window.onload=function(){},當文件內容完全載入完畢再去執行函式中的程式碼。
(7).var op=document.getElementById("antzone"),獲取id屬性值為antzone的元素物件。
(8).var lis=odiv.getElementsByTagName("li"),獲取li元素物件集合。
(9).for(var index=0;index<lis.length;index++){
lis[index].onclick=function(){
fnSmall();
}
},採用for迴圈的方式批量註冊事件處理函式。
二.相關閱讀:
(1).setTimeout()方法可以參閱setTimeout()一章節。
(2).getElementsByTagName()方法可以參閱document.getElementsByTagName()一章節。
相關文章
- js實現的點選一個div顯示,其他div隱藏效果JS
- 點選彈出鎖屏層例項程式碼
- 點選彈出半透明層程式碼例項
- 點選頂部彈出提示層程式碼例項
- jQuery點選顯示彈出層例項程式碼jQuery
- js點選div實現閃爍效果程式碼例項JS
- CSS點選隱藏和顯示div效果CSS
- 點選按鈕實現隱藏一個元素程式碼例項
- jQuery控制div顯示和隱藏程式碼例項jQuery
- jQuery點選滑出層效果程式碼例項jQuery
- div的顯示和隱藏切換程式碼例項
- 點選實現隱藏元素本身程式碼例項
- js div層漸變方式開啟和關閉效果程式碼例項JS
- 點選連結a彈出一個確認框例項程式碼
- JavaScript點選一個按鈕隱藏和顯示divJavaScript
- 設定div元素漸隱效果程式碼例項
- JavaScript 點選一個按鈕 div的隱藏和顯示JavaScript
- 點選按鈕顯示或者隱藏元素例項程式碼
- js實現的div元素尺寸彈性縮放效果程式碼例項JS
- CSS實現div層半透明效果程式碼例項CSS
- 點選按鈕彈出一個居中div
- JavaScript點選按鈕彈出層效果JavaScript
- JavaScript點選投票效果程式碼例項JavaScript
- js點選文字框選中文字效果程式碼例項JS
- js實現的div拖動效果例項程式碼JS
- jquery點選按鈕顯示和隱藏DIvjQuery
- 點選連結<a>彈出確認視窗程式碼例項
- 移動端點選彈出提示視窗程式碼例項
- js點選按鈕數字加1效果程式碼例項JS
- 點選文字框彈出可檢索下拉選單程式碼例項
- jQuery點選按鈕實現div的隱藏和顯示切換效果jQuery
- js左右滑動選項卡效果程式碼例項JS
- js設定元素控制元件顯示和隱藏程式碼例項JS控制元件
- 直播系統程式碼,點選選擇欄,彈出各個選項
- 點選按鈕動畫方式隱藏和顯示div動畫
- JavaScript點選切換div的顯示和隱藏JavaScript
- js實現的垂直選項卡效果程式碼例項JS
- jQuery隱藏一個div元素jQuery