Maison interface Web js tutoriel Code d'implémentation du menu déroulant universel Infinis

Code d'implémentation du menu déroulant universel Infinis

May 05, 2018 pm 04:21 PM
下拉菜单 代码 实现

Cet article présente principalement le code d'implémentation du menu déroulant universel Infinity. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. sont souvent utilisés dans mon développement, je l'ai rencontré, mais chaque projet doit être réécrit. Bien qu'il soit simple à modifier, c'est encore relativement paresseux, j'ai le temps aujourd'hui de trier les menus de mon projet précédent. développement et écrire une version commune. Pas besoin de s'embêter.

Caractéristiques

Le menu compilé aujourd'hui a été développé par jquery+css et présente les fonctionnalités suivantes :

1. Forte polyvalence

Il y a eu un problème avec un menu déroulant que j'utilisais auparavant. Il nécessitait des paramètres séparés pour la navigation principale et les sous-menus. Par exemple, le menu de deuxième niveau est class="first_menu", le menu de troisième niveau est class=. "second_menu"... et ainsi de suite. Un problème avec cette façon d'écrire est qu'elle n'est pas propice aux programmeurs pour effectuer une sortie en boucle. Cependant, ce menu n'a besoin que d'introduire un style CSS, et il n'est pas nécessaire de le définir. un menu à plusieurs niveaux.

2. Bel appel automatique des instructions déroulantes

Dans le passé, nous ajoutions manuellement une classe d'affichage déroulante au menu déroulant, mais maintenant , il suffit de définir le menu déroulant dans le style CSS Effect, le code trouvera automatiquement le menu déroulant et ajoutera des flèches indicatrices

3. 🎜>Le programmeur affiche la liste simplement et ne nécessite pas beaucoup de jugement, juste une récursion. Appelez simplement les données du menu.

Implémentation

1. Code HTML

Nous affichons d'abord les données du menu sur la page, qui est composée de ul et li Créez une liste de menus. Le code de structure spécifique est le suivant :

Certains codes HTML de base sont très simples. Il n'est pas nécessaire d'expliquer la signification du code. J'insiste sur la structure du code : qu'il s'agisse du deuxième niveau. Que le menu à trois niveaux ou à plusieurs niveaux soit principalement imbriqué ul ; le nom de la feuille de style est également très simple et le sous-menu est le style "sub_menu", ce qui est très propice. pour programmer des appels de boucle de code.

<ul class="Menue">

 <li class="Menue_li"><a href="#">首页</a></li>

 <li class="Menue_li"><a href="#">菜单一</a>

  <ul class="sub_menu">

   <li><a href="#">过山车</a></li>

   <li><a href="#">火山爆发</a></li>

   <li><a href="#">小小鸟</a></li>

  </ul>

 </li>

 <li class="Menue_li"><a href="#">菜单二</a>

  <ul class="sub_menu">

   <li><a href="#">关于我们</a>

    <ul class="sub_menu">

     <li><a href="#">山高地缘</a>

      <ul class="sub_menu">

       <li><a href="#">飞鸽传书</a></li>

       <li><a href="#">生生世世</a></li>

       <li><a href="#">飞黄腾达</a></li>

      </ul>

     </li>

     <li><a href="#">数据库</a>

      <ul class="sub_menu">

       <li><a href="#">数据库表</a></li>

       <li><a href="#">数据加密</a></li>

       <li><a href="#">数据建模</a></li>

      </ul>

     </li>

     <li><a href="#">C摄像头</a></li>

    </ul>

   </li>

   <li><a href="#">测试产品</a></li>

  </ul>

 </li>

</ul>
Copier après la connexion

2. Style CSS

Le code de style CSS est également très simple. Le code spécifique est le suivant : <. 🎜>

Ici, je souligne seulement deux points d'attention :

1. La différence entre absolu et relatif en position

a { text-decoration:none; }

ul, li { list-style:none; margin:0; padding:0; }

/*定义菜单*/

.Menue li { background:#111; color:#fff; height:30px; line-height:30px; position:relative; float:left; margin-right:5px; width:100px; text-align:center; font-family:Arial, Helvetica, sans-serif; }

.Menue li a { color:#fff; font-size:14px; display:block; }

/*下拉菜单样式*/

ul.sub_menu { position:absolute;width:100px; display:none; z-index:999; }

.Menue li ul.sub_menu li { background:none; color:#555; font-size:12px; border-bottom:1px #333 solid; position:relative; width:100px; height:30px; }

.Menue li ul.sub_menu li.last { border-bottom:none; } /*js会对最后一个li添加该class,去掉border-bottom效果*/

.Menue li ul.sub_menu li a { background:#222; color:#888; display:block;height:30px; }

.Menue li ul.sub_menu li a:hover, .Menue li ul.sub_menu li a.now { background:#f90;color:#fff;}

.Menue li.now,.Menue li.current { background:#f60;color:#fff;}

/*如果有下拉菜单添加的class*/

.hasmenu { background:url(arrow.png) no-repeat right; padding-right:15px;}/*主导航箭头向下*/

.Menue li a.hasmenu { background:url(arrow.png) no-repeat right; padding-right:15px;background-position:right -30px;}/*下拉菜单箭头向右*/

.Menue li ul.sub_menu li a.hasmenu { background:#222 url(arrow.png) no-repeat right top;}

.Menue li ul.sub_menu li a.hasmenu:hover { background:#f90 url(arrow.png) no-repeat right top; color:#fff;}
Copier après la connexion
absolu : positionnement absolu, Méthode d'écriture CSS "position: absolue ; ", son positionnement est divisé en deux situations, comme suit :

A Lorsque Top, Right, Bottom et Left ne sont pas définis, la valeur par défaut est basée sur le parent ". point d'origine de la zone de contenu" comme point d'origine.

B. Il existe des cas où Top, Right, Bottom et Left sont définis. Il existe deux cas comme suit :

(1) Le parent n'a pas d'attribut de position et le supérieur. Le coin gauche du navigateur (c'est-à-dire le corps) est positionné comme le "point de coordonnées d'origine" et la position est déterminée par les attributs Haut, Droite, Bas et Gauche.

(2). Le parent a un attribut de position, et le "point de coordonnées d'origine" du parent est le point d'origine.

relatif : positionnement relatif, méthode d'écriture CSS "position : relative ;", faites référence au "point d'origine de la zone de contenu" du parent comme point d'origine, s'il n'y a pas de parent, utilisez le "point d'origine point de la zone de contenu" du Body comme point d'origine, la position est déterminée par les attributs Top, Right, Bottom et Left et a la fonction de "s'étendre ou d'occuper la hauteur".

Les deux différences ci-dessus sont très importantes et constituent une technique très courante. Il faut les distinguer. J'ai perdu beaucoup de temps à chercher des problèmes lors du développement à cause de ces deux attributs.

2. Utilisation de background-position

Parfois, afin d'améliorer la vitesse du site Web et de faciliter la gestion du site Web, nous mettons souvent de petites images couramment utilisées pour l'embellissement sur une grande image, et les besoins en CSS pour être proportionnellement petit. Cette méthode peut être utilisée lors de l'utilisation d'images. Tant que vous comprenez ce que cela signifie, il est très pratique de l'appeler. Le point clair de cette méthode est la fonction d'interception d'image. L'utilisation est détaillée comme suit :

Syntaxe :

background-position: length ||

background -position : position || position

Value:

length : Pourcent| Une valeur de longueur composée d'un nombre à virgule flottante et d'un identifiant d'unité.

position : haut | centre | bas | gauche | centre droit

Description :

Définir ou récupérer la position de l'image d'arrière-plan de l'objet. L'attribut background-image doit être spécifié en premier. Le positionnement de cette propriété n'est pas affecté par le paramètre de remplissage de l'objet. La valeur par défaut est : 0% 0%. À ce stade, l'image d'arrière-plan sera positionnée dans le coin supérieur gauche de la zone de contenu de l'objet hors remplissage. Si une seule valeur est spécifiée, cette valeur sera utilisée pour l'abscisse. L'ordonnée sera par défaut de 50 %. Si deux valeurs sont précisées, la deuxième valeur sera utilisée pour l'ordonnée. Si la valeur de réglage est au centre droit, car à droite comme la valeur de l'abscisse remplacera la valeur centrale, l'image d'arrière-plan sera positionnée à droite. Voici quelques équations

en haut à gauche, en haut à gauche équivaut à 0% 0%.

en haut, en haut au centre, au centre en haut équivaut à 50% 0%.

en haut à droite, en haut à droite équivaut à 100% 0%.
gauche, centre gauche, centre gauche équivaut à 0% 50%.

centre, centre centre équivaut à 50% 50 %.

droite, centre droit, centre droit équivaut à 100% 50%.

en bas à gauche, bas gauche équivaut à 0% 100%.

en bas, en bas au centre, le centre en bas équivaut à 50% 100%.

bottom right, right bottom 等价于 100% 100%

三、JS代码

本菜单是以jquery为基础的所以首先必须引入jquery代码库,然后编写如下JS代码实现下拉菜单。

<script src="js/jquery.min.js"></script>

<script>

$(document).ready(function(){

 //为导航设置默认高亮 与本菜单无关

 $("ul.Menue li.Menue_li:eq(0)").addClass("current")

 /*jquery menu 开始*/

 //为子菜单的最后一个li添加样式,适合为li添加下划线时去除最后一个的下划线

 $(".sub_menu").find("li:last-child").addClass("last")

 //遍历全部li,判断是否包含子菜单,如果包含则为其添加箭头指示状态

 $(".Menue li").each(function(){

 if($(this).find("ul").length!=0){$(this).find("a:first").addClass("hasmenu")}

 })

 

 //

 $(".Menue li").hover(function(){

 $(this).addClass("now");

 var menu = $(this);

  menu.find("ul.sub_menu:first").show();

 },function(){

 $(this).removeClass("now");

 $(this).find("ul.sub_menu:first").hide();

 });

 

 var submenu = $(".sub_menu").find(".sub_menu")

 submenu.css({left:"100px",top:"0px"})

 $(".sub_menu li").hover(function(){

 $(this).find("a:first").addClass("now")

 $(this).find("ul:first").show();

 },function(){

 $(this).find("a:first").removeClass("now")

 $(this).find("ul:first").hide()

 });

/*jquery menu 结束*/

})

</script>
Copier après la connexion

通过以上步骤就实现了一个通用的多级菜单,上面代码是本人日常开发中的积累,由于本人水平有限可能存在着许多错误希望同僚们批评指正或提出更优化的代码供本人参考,谢谢。

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que faire si le code d'écran bleu 0x0000001 apparaît Que faire si le code d'écran bleu 0x0000001 apparaît Feb 23, 2024 am 08:09 AM

Que faire avec le code d'écran bleu 0x0000001. L'erreur d'écran bleu est un mécanisme d'avertissement en cas de problème avec le système informatique ou le matériel. Le code 0x0000001 indique généralement une panne de matériel ou de pilote. Lorsque les utilisateurs rencontrent soudainement une erreur d’écran bleu lors de l’utilisation de leur ordinateur, ils peuvent se sentir paniqués et perdus. Heureusement, la plupart des erreurs d’écran bleu peuvent être dépannées et traitées en quelques étapes simples. Cet article présentera aux lecteurs certaines méthodes pour résoudre le code d'erreur d'écran bleu 0x0000001. Tout d'abord, lorsque nous rencontrons une erreur d'écran bleu, nous pouvons essayer de redémarrer

Comment créer un menu déroulant dans le tableau WPS Comment créer un menu déroulant dans le tableau WPS Mar 21, 2024 pm 01:31 PM

Comment créer le menu déroulant du tableau WPS : Après avoir sélectionné la cellule dans laquelle vous souhaitez définir le menu déroulant, cliquez successivement sur "Données", "Validité", puis effectuez les réglages correspondants dans la boîte de dialogue contextuelle. pour dérouler notre menu. En tant que logiciel bureautique puissant, WPS a la capacité d'éditer des documents, des tableaux de données statistiques, etc., ce qui offre beaucoup de commodité à de nombreuses personnes qui ont besoin de traiter du texte, des données, etc. Afin d'utiliser habilement le logiciel WPS pour nous offrir beaucoup de commodité, nous devons être capables de maîtriser diverses opérations très basiques du logiciel WPS. Dans cet article, l'éditeur partagera avec vous comment utiliser le logiciel WPS. opérations du menu déroulant dans le tableau WPS qui apparaît. Après avoir ouvert le formulaire WPS, sélectionnez d'abord le

Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Mar 24, 2024 am 11:27 AM

Comment mettre en œuvre la double connexion WeChat sur les téléphones mobiles Huawei ? Avec l’essor des réseaux sociaux, WeChat est devenu l’un des outils de communication indispensables dans la vie quotidienne des gens. Cependant, de nombreuses personnes peuvent rencontrer un problème : se connecter à plusieurs comptes WeChat en même temps sur le même téléphone mobile. Pour les utilisateurs de téléphones mobiles Huawei, il n'est pas difficile d'obtenir une double connexion WeChat. Cet article explique comment obtenir une double connexion WeChat sur les téléphones mobiles Huawei. Tout d'abord, le système EMUI fourni avec les téléphones mobiles Huawei offre une fonction très pratique : l'ouverture d'une double application. Grâce à la fonction de double ouverture de l'application, les utilisateurs peuvent simultanément

Programme de codes à distance universels GE sur n'importe quel appareil Programme de codes à distance universels GE sur n'importe quel appareil Mar 02, 2024 pm 01:58 PM

Si vous devez programmer un appareil à distance, cet article vous aidera. Nous partagerons les meilleurs codes de télécommande universelle GE pour programmer n’importe quel appareil. Qu'est-ce qu'une télécommande GE ? GEUniversalRemote est une télécommande qui peut être utilisée pour contrôler plusieurs appareils tels que les téléviseurs intelligents, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, lecteurs multimédias en streaming et plus encore. Les télécommandes GEUniversal sont disponibles en différents modèles avec différentes caractéristiques et fonctions. GEUniversalRemote peut contrôler jusqu'à quatre appareils. Les meilleurs codes de télécommande universels à programmer sur n'importe quel appareil. Les télécommandes GE sont livrées avec un ensemble de codes qui leur permettent de fonctionner avec différents appareils. vous pouvez

Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei Comment implémenter la fonction de clonage WeChat sur les téléphones mobiles Huawei Mar 24, 2024 pm 06:03 PM

Comment mettre en œuvre la fonction de clonage WeChat sur les téléphones mobiles Huawei Avec la popularité des logiciels sociaux et l'importance croissante accordée à la confidentialité et à la sécurité, la fonction de clonage WeChat est progressivement devenue le centre d'attention. La fonction de clonage WeChat peut aider les utilisateurs à se connecter simultanément à plusieurs comptes WeChat sur le même téléphone mobile, ce qui facilite la gestion et l'utilisation. Il n'est pas difficile de mettre en œuvre la fonction de clonage WeChat sur les téléphones mobiles Huawei. Il vous suffit de suivre les étapes suivantes. Étape 1 : Assurez-vous que la version du système de téléphonie mobile et la version de WeChat répondent aux exigences. Tout d'abord, assurez-vous que la version de votre système de téléphonie mobile Huawei a été mise à jour vers la dernière version, ainsi que l'application WeChat.

Guide de programmation PHP : méthodes pour implémenter la séquence de Fibonacci Guide de programmation PHP : méthodes pour implémenter la séquence de Fibonacci Mar 20, 2024 pm 04:54 PM

Le langage de programmation PHP est un outil puissant pour le développement Web, capable de prendre en charge une variété de logiques et d'algorithmes de programmation différents. Parmi eux, l’implémentation de la séquence de Fibonacci est un problème de programmation courant et classique. Dans cet article, nous présenterons comment utiliser le langage de programmation PHP pour implémenter la séquence de Fibonacci et joindrons des exemples de code spécifiques. La suite de Fibonacci est une suite mathématique définie comme suit : le premier et le deuxième élément de la suite valent 1, et à partir du troisième élément, la valeur de chaque élément est égale à la somme des deux éléments précédents. Les premiers éléments de la séquence

Découvrez comment Golang offre des possibilités de développement de jeux Découvrez comment Golang offre des possibilités de développement de jeux Mar 16, 2024 pm 12:57 PM

Dans le domaine actuel du développement logiciel, Golang (langage Go), en tant que langage de programmation efficace, concis et hautement simultané, est de plus en plus favorisé par les développeurs. Sa riche bibliothèque de normes et ses fonctionnalités de concurrence efficaces en font un choix de premier plan dans le domaine du développement de jeux. Cet article explorera comment utiliser Golang pour le développement de jeux et démontrera ses puissantes possibilités à travers des exemples de code spécifiques. 1. Avantages de Golang dans le développement de jeux. En tant que langage typé statiquement, Golang est utilisé dans la construction de systèmes de jeux à grande échelle.

Guide de mise en œuvre des exigences du jeu PHP Guide de mise en œuvre des exigences du jeu PHP Mar 11, 2024 am 08:45 AM

Guide d'implémentation des exigences du jeu PHP Avec la popularité et le développement d'Internet, le marché des jeux Web devient de plus en plus populaire. De nombreux développeurs espèrent utiliser le langage PHP pour développer leurs propres jeux Web, et la mise en œuvre des exigences du jeu constitue une étape clé. Cet article explique comment utiliser le langage PHP pour implémenter les exigences courantes du jeu et fournit des exemples de code spécifiques. 1. Créer des personnages de jeu Dans les jeux Web, les personnages de jeu sont un élément très important. Nous devons définir les attributs du personnage du jeu, tels que le nom, le niveau, la valeur de l'expérience, etc., et fournir des méthodes pour les exploiter.

See all articles