Maison  >  Article  >  interface Web  >  HTML, CSS et jQuery : Créez un menu accordéon animé

HTML, CSS et jQuery : Créez un menu accordéon animé

WBOY
WBOYoriginal
2023-10-27 16:33:521455parcourir

HTML, CSS et jQuery : Créez un menu accordéon animé

HTML, CSS et jQuery : créez un menu pliable avec animation

Dans le développement Web, le menu pliable est un élément interactif courant qui peut économiser de l'espace sur la page et améliorer l'expérience utilisateur. Cet article expliquera comment utiliser HTML, CSS et jQuery pour créer un menu pliant animé et fournira des exemples de code spécifiques.

  1. Structure HTML
    Tout d'abord, nous devons définir une structure HTML pour créer le menu pliable. Ce qui suit est un exemple simple de structure HTML :
<div class="menu-item">
  <h3 class="menu-title">菜单标题</h3>
  <div class="menu-content">
    <!-- 菜单内容 -->
  </div>
</div>

Dans le code ci-dessus, .menu-item est le conteneur le plus externe et .menu-title est le titre de le menu, .menu-content est le contenu du menu, qui est masqué dans l'état initial. .menu-item是最外层的容器,.menu-title是菜单的标题,.menu-content是菜单的内容,初始状态下是隐藏的。

  1. CSS样式
    接下来,我们需要为折叠菜单添加一些CSS样式,来定义菜单的外观和动画效果。以下是一个基本的CSS样式示例:
.menu-item {
  margin-bottom: 10px;
}

.menu-title {
  cursor: pointer;
}

.menu-content {
  display: none;
}

.menu-content.show {
  display: block;
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

上述代码中,我们为.menu-item添加了一些底部间距,使菜单之间有一定的间隔。为.menu-title设置了cursor: pointer,来改变鼠标样式,以表示菜单可以点击展开或折叠。.menu-content的初始状态是隐藏的,当添加.show类名时,菜单内容会以淡入的动画效果显示出来。

  1. jQuery动画效果
    为了实现菜单的展开和折叠功能,我们可以使用jQuery来添加动画效果。以下是一个基本的jQuery代码示例:
$(document).ready(function() {
  $('.menu-title').click(function() {
    $(this).siblings('.menu-content').toggleClass('show');
  });
});

上述代码中,我们使用$(document).ready()来确保页面加载完成后再执行代码。当点击.menu-title元素时,使用toggleClass()方法来切换.show

    Styles CSS
      Ensuite, nous devons ajouter quelques styles CSS au menu réduit pour définir l'apparence et les effets d'animation du menu. Voici un exemple de style CSS de base :

    1. <!DOCTYPE html>
      <html>
      <head>
        <meta charset="UTF-8">
        <title>折叠菜单</title>
        <style>
          .menu-item {
            margin-bottom: 10px;
          }
      
          .menu-title {
            cursor: pointer;
          }
      
          .menu-content {
            display: none;
          }
      
          .menu-content.show {
            display: block;
            animation: fadeIn 0.3s ease-in-out;
          }
      
          @keyframes fadeIn {
            0% { opacity: 0; }
            100% { opacity: 1; }
          }
        </style>
        <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
        <script>
          $(document).ready(function() {
            $('.menu-title').click(function() {
              $(this).siblings('.menu-content').toggleClass('show');
            });
          });
        </script>
      </head>
      <body>
        <div class="menu-item">
          <h3 class="menu-title">菜单标题1</h3>
          <div class="menu-content">
            <p>菜单内容1</p>
          </div>
        </div>
      
        <div class="menu-item">
          <h3 class="menu-title">菜单标题2</h3>
          <div class="menu-content">
            <p>菜单内容2</p>
          </div>
        </div>
      
        <div class="menu-item">
          <h3 class="menu-title">菜单标题3</h3>
          <div class="menu-content">
            <p>菜单内容3</p>
          </div>
        </div>
      </body>
      </html>
    2. Dans le code ci-dessus, nous ajoutons un espacement inférieur à .menu-item pour donner un certain intervalle entre les menus. cursor : pointer est défini pour .menu-title pour modifier le style de la souris afin d'indiquer que le menu peut être cliqué pour se développer ou se réduire. L'état initial de .menu-content est masqué. Lorsque le nom de la classe .show est ajouté, le contenu du menu sera affiché avec un effet d'animation en fondu.

      Effet d'animation jQuery

      Afin de réaliser la fonction d'expansion et de réduction du menu, nous pouvons utiliser jQuery pour ajouter des effets d'animation. Voici un exemple de code jQuery de base :

      rrreee🎜Dans le code ci-dessus, nous utilisons $(document).ready() pour nous assurer que la page est chargée avant d'exécuter le code. Lorsque vous cliquez sur l'élément .menu-title, utilisez la méthode toggleClass() pour changer le nom de la classe .show afin de développer et de réduire le menu. contenu. 🎜🎜🎜Exemple de code complet et aperçu de l'effet🎜Ce qui suit est un exemple complet de code de fichier HTML. Vous pouvez copier et coller le code dans un fichier HTML et afficher l'effet dans le navigateur : 🎜🎜rrreee🎜Vous pouvez l'afficher dans le navigateur. Exécutez le code ci-dessus et cliquez sur le titre du menu pour voir le contenu du menu se développer et se réduire avec un effet d'animation de fondu entrant. 🎜🎜Pour résumer, en utilisant HTML, CSS et jQuery, nous pouvons facilement créer un menu pliable avec des effets animés. J'espère que l'exemple de code de cet article pourra vous être utile, allez-y et essayez-le ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn