目錄
手风琴动画效果
首頁 web前端 js教程 圖文詳解如何以原生JS實現手風琴導航效果

圖文詳解如何以原生JS實現手風琴導航效果

Oct 25, 2018 pm 01:50 PM
js

大家在瀏覽網站時,有沒有註意到導航的樣式有很多種,例如麵包屑導航、下拉選單導航,手風琴導航等等,那作為一個前端開發人員,你知道如何用原生JS實現手風琴導航效果嗎?這篇文章就跟大家講講原生JS製作手風琴效果的思路以及JS手風琴效果代碼,有一定的參考價值,有興趣的小伙伴可以看看。

用JS製作手風琴導航需要用到很多JavaScript知識,比如toggle,for循環,if函數等等,如有不清楚的同學可以參考PHP中文網的相關文章,或者訪問JavaScript影片教學,希望可以幫助你!

實現手風琴導航效果的思路:當滑鼠點擊第一個按鈕時,第一個按鈕裡面的內容顯示出來,點擊第二個按鈕時,第二個按鈕裡面的內容顯示出來,以此類推。在JavaScript中,用for迴圈遍歷有多少個按鈕,用if函數判斷maxHeight,從而實現按鈕內容的顯示與隱藏,具體程式碼如下:

HTML部分:設定三個按鈕以及按鈕所對應的內容

1

2

3

4

5

6

7

8

9

10

11

12

13

<h2 id="手风琴动画效果">手风琴动画效果</h2> 

  <button class="btn">选项 1</button>

  <div class="p1">

    <p>内容1</p>

  </div>

  <button class="btn">选项 2</button>

  <div class="p1">

    <p>内容2</p>

  </div>

  <button class="btn">选项 3</button>

  <div class="p1">

    <p>内容3</p>

  </div>

登入後複製

CSS部分:用CSS美化頁面和實現簡單效果,例如當滑鼠經過按鈕時顏色變深

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

.btn {

       background-color: #eee;

       color: #444;

       cursor: pointer;

       padding: 18px;

       width: 100%;

       border: none;

       text-align: left;

       outline: none;

       font-size: 15px;

       transition: 0.4s;

   }

    

   .btn.active,.btn:hover {

       background-color: #ddd;

   

   .p1 {

       padding: 0 18px;

       background-color: white;

       max-height: 0;

       overflow: hidden;

       transition: max-height 0.2s ease-out;

   }

登入後複製

JavaScript部分:這是手風琴效果的關鍵部分,它決定了按鈕內容能不能隱藏和顯示

1

2

3

4

5

6

7

8

9

10

11

12

var btn = document.getElementsByClassName("btn");

  for (var i = 0; i < btn.length; i++) {

    btn[i].onclick = function() {

      this.classList.toggle("active");

      var panel = this.nextElementSibling;

      if (panel.style.maxHeight){

        panel.style.maxHeight = null;

      } else {

        panel.style.maxHeight = panel.scrollHeight + "px";

      }

    }

  }

登入後複製

效果如下圖所示:

圖文詳解如何以原生JS實現手風琴導航效果

#以上用文字、圖片和程式碼介紹如何用原生JS要達到手風琴導航效果,之前沒有接觸過的夥伴一定要自己動手嘗試,看看能不能手寫這樣的效果。希望這篇文章對你有幫助!

更多相關教學請造訪 JavaScript中文參考手冊

#

以上是圖文詳解如何以原生JS實現手風琴導航效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用JS和百度地圖實現地圖平移功能 如何使用JS和百度地圖實現地圖平移功能 Nov 21, 2023 am 10:00 AM

如何使用JS和百度地圖實現地圖平移功能

建議:優秀JS開源人臉偵測辨識項目 建議:優秀JS開源人臉偵測辨識項目 Apr 03, 2024 am 11:55 AM

建議:優秀JS開源人臉偵測辨識項目

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 Dec 17, 2023 pm 06:55 PM

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟

PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 Dec 18, 2023 pm 03:39 PM

PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法

如何使用PHP和JS創建股票蠟燭圖 如何使用PHP和JS創建股票蠟燭圖 Dec 17, 2023 am 08:08 AM

如何使用PHP和JS創建股票蠟燭圖

如何使用JS和百度地圖實現地圖多邊形繪製功能 如何使用JS和百度地圖實現地圖多邊形繪製功能 Nov 21, 2023 am 10:53 AM

如何使用JS和百度地圖實現地圖多邊形繪製功能

如何使用JS和百度地圖實現地圖點擊事件處理功能 如何使用JS和百度地圖實現地圖點擊事件處理功能 Nov 21, 2023 am 11:11 AM

如何使用JS和百度地圖實現地圖點擊事件處理功能

js中new運算子做了哪些事情 js中new運算子做了哪些事情 Nov 13, 2023 pm 04:05 PM

js中new運算子做了哪些事情

See all articles