jquery 實現左側選單列左右收縮

王林
發布: 2023-05-28 10:06:07
原創
888 人瀏覽過

隨著網站的功能越來越複雜,左側選單列已經成為了幾乎所有網頁的標配。然而,一些設計師可能會認為選單列佔據了網頁過多的空間,降低了網頁的美觀。為了解決這個問題,可以使用jQuery實作功能表列的左右收縮功能。

本文將介紹如何利用jQuery實作左側選單列左右收縮效果。

  1. HTML結構

首先,我們需要建立一個基本的HTML結構。程式碼如下:

<div class="menu">
  <div class="menu-toggle">
    <i class="fa fa-bars"></i>
  </div>
  <ul class="menu-list">
    <li><a href="#">Menu 1</a></li>
    <li><a href="#">Menu 2</a></li>
    <li><a href="#">Menu 3</a></li>
  </ul>
</div>
登入後複製

這裡我們建立了一個名為「menu」的div容器,裡麵包含了「menu-toggle」和「menu-list」兩個子元素。

  1. CSS樣式

接下來,我們需要為功能表列新增CSS樣式。程式碼如下:

.menu {
  width: 250px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #333;
  color: #fff;
  overflow-x: hidden;
}

.menu-toggle {
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 24px;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #555;
  color: #fff;
  z-index: 999;
}

.menu-list {
  margin-top: 50px;
  padding: 0;
  list-style: none;
}

.menu-list li {
  padding: 10px;
}

.menu-list li a {
  color: #fff;
  text-decoration: none;
}

/* 隐藏滚动条 */
::-webkit-scrollbar {
  display: none;
}
登入後複製

在這個CSS樣式中,我們設定了選單列的寬度和高度,以及絕對定位的位置。然後為功能表列的子元素新增樣式,包括功能表列的切換按鈕、功能表列清單等。

  1. JS程式碼

現在,我們需要透過jQuery來新增選單列的左右收縮效果。程式碼如下:

$(document).ready(function() {
  // 默认情况下,菜单栏打开
  var menuState = "open";

  // 点击按钮时切换菜单栏状态
  $(".menu-toggle").click(function() {
    if (menuState == "open") {
      $(".menu").animate({left: "-250px"}, 300);
      menuState = "closed";
    } else {
      $(".menu").animate({left: "0px"}, 300);
      menuState = "open";
    }
  });
});
登入後複製

在這個JS程式碼中,我們定義了一個變數“menuState”,用於追蹤功能表列的狀態。每次點擊選單列的切換按鈕時,請判斷功能表列的狀態,然後根據不同狀態切換。

  1. 完整範例

現在,我們已經完成了一個簡單的左側選單列左右縮效果。我們將上述HTML、CSS和JS程式碼整合在一起,形成完整的範例。

<!doctype html>
<html>
<head>
  <meta charset="UTF-8">
  <title>jQuery实现左侧菜单栏左右收缩</title>
  <link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <style>
    .menu {
      width: 250px;
      height: 100%;
      position: fixed;
      top: 0;
      left: 0;
      background-color: #333;
      color: #fff;
      overflow-x: hidden;
    }
    .menu-toggle {
      width: 50px;
      height: 50px;
      line-height: 50px;
      font-size: 24px;
      text-align: center;
      cursor: pointer;
      position: absolute;
      top: 0;
      left: 0;
      background-color: #555;
      color: #fff;
      z-index: 999;
    }
    .menu-list {
      margin-top: 50px;
      padding: 0;
      list-style: none;
    }
    .menu-list li {
      padding: 10px;
    }
    .menu-list li a {
      color: #fff;
      text-decoration: none;
    }
    /*隐藏滚动条*/
    ::-webkit-scrollbar {
      display: none;
    }
  </style>
</head>
<body>
  <div class="menu">
    <div class="menu-toggle">
      <i class="fa fa-bars"></i>
    </div>
    <ul class="menu-list">
      <li><a href="#">Menu 1</a></li>
      <li><a href="#">Menu 2</a></li>
      <li><a href="#">Menu 3</a></li>
    </ul>
  </div>

  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script>
    $(document).ready(function() {
      // 默认情况下,菜单栏打开
      var menuState = "open";

      // 点击按钮时切换菜单栏状态
      $(".menu-toggle").click(function() {
        if (menuState == "open") {
          $(".menu").animate({left: "-250px"}, 300);
          menuState = "closed";
        } else {
          $(".menu").animate({left: "0px"}, 300);
          menuState = "open";
        }
      });
    });
  </script>
</body>
</html>
登入後複製
  1. 總結

以上就是實現左側選單列左右收縮效果的完整步驟。透過使用jQuery,我們可以輕鬆地添加這項功能,並使網頁的美觀度得到提升。希望本文對你有幫助。

以上是jquery 實現左側選單列左右收縮的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板