手風琴方式展開和摺疊導航選單效果

admin發表於2017-04-07

本章節分享一段程式碼例項,它實現了手風琴方式展開和摺疊導航選單效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
dl{width:150px;}
dl,dd{margin:0;}
dt{
  background:gray;
  font-size:14px;
  padding:2px;
  margin:2px;
}
dt{color:#FFF;}
dd a{
  color:#000;
  font-size:12px;
}
ul{
  list-style:none;
  padding:2px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$(document).ready(function(){
  $("dd:not(:first)").hide();
  $("dt a").click(function(){
    $("dd:visible").slideUp("slow");
    $(this).parent().next().slideDown("slow");
    return false;
  });
});
</script>
</head>
<body>
<dl>
  <dt><a href="#">螞蟻部落一</a></dt>
  <dd>
    <ul>
      <li><a href="#">div教程</a></li>
      <li><a href="#">css教程</a></li>
      <li><a href="#">jquery教程</a></li>
    </ul>
  </dd>
  <dt><a href="#">螞蟻部落二</a></dt>
  <dd>
    <ul>
      <li><a href="#">正則教程</a></li>
      <li><a href="#">螞蟻部落</a></li>
    </ul>
  </dd>
  <dt><a href="#">螞蟻部落三</a></dt>
  <dd>
    <ul>
      <li><a href="#">ajax教程</a></li>
      <li><a href="#">softwhy.com</a></li>
      <li><a href="#">js教程</a></li>
    </ul>
  </dd>
</dl>
</body>
</html>

上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。

一.程式碼註釋:

(1).$(document).ready(function(){}),當文件結構完全載入完畢再去執行函式中的程式碼。

(2).$("dd:not(:first)").hide(),除第一個dd元素之外的所有dd元素隱藏,就是第一個導航選單的子選單是展開的,其他隱藏。

(3).$("dt a").click(function(){}),為dt元素下的a元素註冊click事件處理函式。

(4).$("dd:visible").slideUp("slow"),所有已經顯示的dd元素通過動畫方式收縮隱藏。

(5).$(this).parent().next().slideDown("slow"),當前連線a元素的父元素也就是dt元素,dt元素的下一個元素就是二級選單dd元素,將此選單以動畫方式展開。

(6).return false,這個很重要,防止連結的跳轉動作。

二.相關閱讀:

(1).:not參閱jQuery :not一章節。

(2).:first參閱jQuery :first一章節。

(3).:visible參閱jQuery :visible一章節。

(4).slideUp()參閱jQuery slideUp()一章節。

(5).parent()參閱jQuery parent()一章節。

(6).next()參閱jQuery next()一章節。

(7).return false參閱JavaScript return false一章節。

相關文章