1. 程式人生 > 程式設計 >jQuery使用hide()、toggle()函式實現相機品牌展示隱藏功能

jQuery使用hide()、toggle()函式實現相機品牌展示隱藏功能

最近在學習jQuery時接觸到了show()、hide()、toggle()函式,於是利用這幾個函式練習了一個使元素顯示隱藏的案例:

小提示:程式碼中切換按鈕上下的小圖示可以在此連結品牌展示功能圖片中獲取

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>使用hide()、toggle()函式實現相機品牌展示</title>
  <style type="text/css">
    * {
      margin: 0;
      padding: 0;
    }

    body {
      font-size: 12px;
      text-align: center;
    }

    a {
      color: #04D;
      text-decoration: none;
    }

    a:hover {
      color: #F50;
      /*text-decoration 屬性規定新增到文字的修飾,下劃線、上劃線、刪除線等。*/
      text-decoration: underline;
    }

    .SubCategoryBox {
      width: 600px;
      margin: 0 auto;
      text-align: center;
      margin-top: 40px;
    }

    .SubCategoryBox ul {
      list-style: none;
    }

    .SubCategoryBox ul li {
      display: block;
      float: left;
      width: 200px;
      line-height: 20px;
    }

    .showmore,.showless {
      clear: both;
      text-align: center;
      padding-top: 10px;
    }

    .showmore a,.showless a {
      display: block;
      width: 120px;
      margin: 0 auto;
      line-height: 24px;
      border: 1px solid #AAA;
    }

    .showmore a span {
      padding-left: 15px;
      /*最後兩位數字是以左上角為(0,0)的座標做一個偏移
       第一個數字是X軸上的偏移量,也就是橫向的偏移量,正表示向右,負表示向左!
       第二個數字是Y軸上的偏移量,也就是橫向的偏移量,正表示向下,負表示向上!*/;
      background: url(img/down.gif) no-repeat 0 3px;
    }

    .showless a span {
      padding-left: 15px;
      background: url(img/up.gif) no-repeat 0 3px;
    }

    .promoted a {
      color: #F50;
    }
  </style>
  <script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  <script type="text/javascript">
    $(function () {
      // 頁面載入完成先隱藏部分相機品牌
      $("ul li:gt(5):not(:last)").hide();
      // filter函式篩選出與指定表示式匹配的元素集合。這個方法用於縮小匹配的範圍。用逗號分隔多個表示式
      // 這裡篩選出保留需要單獨新增樣式的相機品牌
      var multiPromoted = $("li").filter(":contains('佳能'),:contains('索尼'),:contains('柯達')");
      // 獲取到a標籤繫結點選事件
      $("div div a").click(function () {
        // 切換顯示與隱藏部分相機品牌
        $("ul li:gt(5):not(:last)").toggle();
        // 隱藏部分相機品牌時替換文字內容、角標圖片、移除li下a標籤文字樣式
        if ($("ul li:gt(5):not(:last)").is(":hidden")) {
          $("a > span").html("顯示全部品牌");
          $("div div").removeClass();
          $("div div").addClass("showmore");
          $(multiPromoted).removeClass("promoted");
        } else {
          // 顯示部分相機品牌時替換文字內容、角標圖片、新增li下a標籤文字樣式
          $("a > span").html("顯示精簡品牌");
          $("div div").removeClass();
          $("div div").addClass("showless");
          $(multiPromoted).addClass("promoted");
        }
      });
    });
  </script>
</head>
<body>
<div class="SubCategoryBox">
  <ul>
    <li><a href="#">佳能</a><i>(30440) </i></li>
    <li><a href="#">索尼</a><i>(27220) </i></li>
    <li><a href="#">三星</a><i>(20808) </i></li>
    <li><a href="#">尼康</a><i>(17821) </i></li>
    <li><a href="#">松下</a><i>(12289) </i></li>
    <li><a href="#">卡西歐</a><i>(8242) </i></li>
    <li><a href="#">富士</a><i>(14894) </i></li>
    <li><a href="#">柯達</a><i>(9520) </i></li>
    <li><a href="#">賓得</a><i>(2195) </i></li>
    <li><a href="#">理光</a><i>(4114) </i></li>
    <li><a href="#">奧林巴斯</a><i>(12205) </i></li>
    <li><a href="#">明基</a><i>(1466) </i></li>
    <li><a href="#">愛國者</a><i>(3091) </i></li>
    <li><a href="#">其它品牌相機</a><i>(7275) </i></li>

  </ul>
  <div class="showmore">
    <a href="#"><span>顯示全部品牌</span></a>
  </div>
</div>
</body>
</html>

程式碼執行效果:

jQuery使用hide()、toggle()函式實現相機品牌展示隱藏功能

功能展示效果:

jQuery使用hide()、toggle()函式實現相機品牌展示隱藏功能

到此這篇關於jQuery使用hide()、toggle()函式實現相機品牌展示隱藏功能的文章就介紹到這了,更多相關jQuery使用hide()、toggle()函式實現相機品牌展示隱藏功能內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!