Heim Web-Frontend js-Tutorial Implementierungscode des universellen Infinitus-Dropdown-Menüs

Implementierungscode des universellen Infinitus-Dropdown-Menüs

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

Dieser Artikel stellt hauptsächlich den Implementierungscode des universellen Infinity-Dropdown-Menüs vor. Jetzt kann ich ihn mit Ihnen teilen.

Dropdown-Menüs Ich bin in meiner Entwicklung oft darauf gestoßen, aber jedes Projekt muss neu geschrieben werden, aber es ist sehr mühsam, die Menüs in meinem vorherigen Projekt zu sortieren Entwicklung und Schreiben einer gemeinsamen Version. Kein Grund zur Sorge.

Funktionen

Das heute zusammengestellte Menü wurde von jquery+css entwickelt und verfügt über die folgenden Funktionen:

1. Starke Vielseitigkeit

Es gab ein Problem mit einem Dropdown-Menü, das ich zuvor verwendet habe. Es erforderte separate Einstellungen für die Hauptnavigation und die Untermenüs. Das Menü der zweiten Ebene ist beispielsweise class="first_menu", das Menü der dritten Ebene ist class= „second_menu“ ... und so weiter. Ein Problem bei dieser Schreibweise besteht darin, dass es für Programmierer nicht förderlich ist, eine Schleifenausgabe durchzuführen. Dieses Menü muss jedoch nur einen CSS-Stil einführen und es ist nicht erforderlich, ihn zu definieren ein mehrstufiges Menü.

2. Schöner automatischer Aufruf von Dropdown-Anweisungen

In der Vergangenheit haben wir manuell eine Dropdown-Anzeigeklasse zum Dropdown-Menü hinzugefügt, aber jetzt , wir müssen nur das Dropdown-Menü im CSS-Effektstil definieren, der Code findet automatisch das Dropdown-Menü und fügt Anzeigepfeile hinzu

Der Programmierer gibt die Liste einfach aus und erfordert nicht viel Urteilsvermögen, sondern nur eine Rekursion. Rufen Sie einfach die Menüdaten auf.

Implementierung

1. HTML-Code

Zuerst geben wir die Menüdaten auf der Seite aus, die sich aus ul zusammensetzt und li Erstellen Sie eine Menüliste. Der spezifische Strukturcode lautet wie folgt:

<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>
Nach dem Login kopieren

Einige grundlegende HTML-Codes sind sehr einfach und es besteht keine Notwendigkeit, die Bedeutung des Codes zu erklären Die Codestruktur: Ob es sich um die zweite oder die dritte Ebene handelt. Das Menü ist hauptsächlich verschachtelt. Der Name des Stylesheets ist ebenfalls sehr einfach, und das Untermenü ist der Stil „sub_menu“. Sehr förderlich für den Schleifenaufruf des Programmcodes.

2. CSS-Stil

Der spezifische Code ist wie folgt:

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;}
Nach dem Login kopieren

Hier betone ich nur zwei Punkte:

1. Der Unterschied zwischen absoluter und relativer Position

absolut: absolute Positionierung, CSS-Schreiben Bei der Methode „position: absolute;“ ist die Positionierung wie folgt in zwei Situationen unterteilt: des Inhaltsbereichs“ als Originalpunkt.

B. Es gibt Fälle, in denen Oben, Rechts, Unten und Links festgelegt sind. Es gibt zwei Fälle wie folgt:

(1) Das übergeordnete Element hat kein Positionsattribut Die obere linke Ecke des Browsers (d. h. Körper) wird als „ursprünglicher Koordinatenpunkt“ positioniert und die Position wird durch die Attribute „Oben“, „Rechts“, „Unten“ und „Links“ bestimmt.

(2) Das übergeordnete Element verfügt über ein Positionsattribut und der „ursprüngliche Koordinatenpunkt“ des übergeordneten Elements ist der ursprüngliche Punkt.

relative: Relative Positionierung, CSS-Schreibmethode „position: relative;“, beziehen Sie sich auf den „ursprünglichen Punkt des Inhaltsbereichs“ des übergeordneten Elements als ursprünglichen Punkt. Wenn kein übergeordnetes Element vorhanden ist, verwenden Sie „original“. „Punkt des Inhaltsbereichs“ des Körpers als ursprünglicher Punkt. Die Position wird durch die Attribute „Oben“, „Rechts“, „Unten“ und „Links“ bestimmt und hat die Funktion „Erweitern oder Besetzen der Höhe“.

Die beiden oben genannten Unterschiede sind sehr wichtig und eine sehr häufige Technik. Aufgrund dieser beiden Eigenschaften habe ich viel Zeit damit verschwendet, während der Entwicklung nach Problemen zu suchen.

2. Verwendung der Hintergrundposition

Um die Website-Geschwindigkeit zu verbessern und die Website-Verwaltung zu erleichtern, fügen wir häufig einige häufig verwendete kleine Bilder zur Verschönerung in ein großes Bild ein und benötigen CSS Diese Methode kann bei der Verwendung von Bildern verwendet werden. Solange Sie verstehen, was sie bedeutet, ist es sehr praktisch, sie aufzurufen. Der klare Sinn dieser Methode ist die Bildabfangfunktion. Die Verwendung wird wie folgt beschrieben:

Hintergrundposition: Länge ||

Hintergrundposition: Position ||. Position

Wert:

Länge: Prozent|.

Position :oben |. unten |. Zuerst muss das Attribut „Hintergrundbild“ angegeben werden. Diese Eigenschaftspositionierung wird durch die Abstandseinstellung des Objekts nicht beeinflusst. Der Standardwert ist: 0 % 0 %. Zu diesem Zeitpunkt wird das Hintergrundbild ohne Polsterung in der oberen linken Ecke des Inhaltsbereichs des Objekts positioniert. Wenn nur ein Wert angegeben ist, wird dieser Wert für die Abszisse verwendet. Die Ordinate wird standardmäßig auf 50 % eingestellt. Werden zwei Werte angegeben, wird der zweite Wert für die Ordinate verwendet. Wenn der Einstellungswert rechts zentriert ist, wird das Hintergrundbild rechts positioniert, da der Abszissenwert rechts den Mittelwert überschreibt. Hier sind einige Gleichungen

oben links, links oben entspricht 0 % 0 %.

oben, oben in der Mitte, Mitte oben entspricht 50 % 0 %.

rechts oben, oben rechts entspricht 100 % 0 %.

links, links Mitte, Mitte links entspricht 0 % 50 %.

Mitte, Mitte Mitte entspricht 50 % 50 %.

rechts, rechts in der Mitte, Mitte rechts entspricht 100 % 50 %.
unten links, links unten entspricht 0 % 100 %.

unten, unten Mitte, Mitte unten entspricht 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>
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonImplementierungscode des universellen Infinitus-Dropdown-Menüs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie ein Dropdown-Menü in der WPS-Tabelle So erstellen Sie ein Dropdown-Menü in der WPS-Tabelle Mar 21, 2024 pm 01:31 PM

So erstellen Sie das Dropdown-Menü der WPS-Tabelle: Nachdem Sie die Zelle ausgewählt haben, in der Sie das Dropdown-Menü festlegen möchten, klicken Sie nacheinander auf „Daten“ und „Gültigkeit“ und nehmen Sie dann die entsprechenden Einstellungen im Popup-Dialogfeld vor um unsere Speisekarte herunterzuziehen. Als leistungsstarke Office-Software verfügt WPS über die Möglichkeit, Dokumente, statistische Datentabellen usw. zu bearbeiten, was für viele Menschen, die mit Texten, Daten usw. arbeiten müssen, großen Komfort bietet. Um die WPS-Software geschickt nutzen zu können, müssen wir in der Lage sein, verschiedene grundlegende Vorgänge der WPS-Software zu beherrschen. In diesem Artikel erfahren Sie, wie Sie die WPS-Software verwenden. Sie können die Menüvorgänge in der angezeigten WPS-Tabelle nach unten verschieben. Nachdem Sie das WPS-Formular geöffnet haben, wählen Sie zunächst das aus

Was tun, wenn der Bluescreen-Code 0x0000001 auftritt? Was tun, wenn der Bluescreen-Code 0x0000001 auftritt? Feb 23, 2024 am 08:09 AM

Was tun mit dem Bluescreen-Code 0x0000001? Der Bluescreen-Fehler ist ein Warnmechanismus, wenn ein Problem mit dem Computersystem oder der Hardware vorliegt. Der Code 0x0000001 weist normalerweise auf einen Hardware- oder Treiberfehler hin. Wenn Benutzer bei der Verwendung ihres Computers plötzlich auf einen Bluescreen-Fehler stoßen, geraten sie möglicherweise in Panik und sind ratlos. Glücklicherweise können die meisten Bluescreen-Fehler mit ein paar einfachen Schritten behoben werden. In diesem Artikel werden den Lesern einige Methoden zur Behebung des Bluescreen-Fehlercodes 0x0000001 vorgestellt. Wenn ein Bluescreen-Fehler auftritt, können wir zunächst versuchen, neu zu starten

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

Universal-Fernbedienungscode-Programm von GE auf jedem Gerät Universal-Fernbedienungscode-Programm von GE auf jedem Gerät Mar 02, 2024 pm 01:58 PM

Wenn Sie ein Gerät aus der Ferne programmieren müssen, hilft Ihnen dieser Artikel. Wir teilen Ihnen die besten Universal-Fernbedienungscodes von GE für die Programmierung aller Geräte mit. Was ist eine GE-Fernbedienung? GEUniversalRemote ist eine Fernbedienung, mit der mehrere Geräte wie Smart-TVs, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, Streaming-Media-Player und mehr gesteuert werden können. GEUniversal-Fernbedienungen gibt es in verschiedenen Modellen mit unterschiedlichen Merkmalen und Funktionen. GEUniversalRemote kann bis zu vier Geräte steuern. Top-Universalfernbedienungscodes zum Programmieren auf jedem Gerät GE-Fernbedienungen werden mit einer Reihe von Codes geliefert, die es ihnen ermöglichen, mit verschiedenen Geräten zu arbeiten. Sie können

PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge Mar 20, 2024 pm 04:54 PM

Die Programmiersprache PHP ist ein leistungsstarkes Werkzeug für die Webentwicklung, das eine Vielzahl unterschiedlicher Programmierlogiken und Algorithmen unterstützen kann. Unter diesen ist die Implementierung der Fibonacci-Folge ein häufiges und klassisches Programmierproblem. In diesem Artikel stellen wir vor, wie Sie die Fibonacci-Folge mit der Programmiersprache PHP implementieren, und fügen spezifische Codebeispiele bei. Die Fibonacci-Folge ist eine mathematische Folge, die wie folgt definiert ist: Das erste und das zweite Element der Folge sind 1, und ab dem dritten Element ist der Wert jedes Elements gleich der Summe der beiden vorherigen Elemente. Die ersten paar Elemente der Sequenz

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mar 24, 2024 pm 06:03 PM

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mit der Popularität sozialer Software und der zunehmenden Bedeutung von Datenschutz und Sicherheit rückt die WeChat-Klonfunktion allmählich in den Mittelpunkt der Aufmerksamkeit der Menschen. Die WeChat-Klonfunktion kann Benutzern helfen, sich gleichzeitig bei mehreren WeChat-Konten auf demselben Mobiltelefon anzumelden, was die Verwaltung und Nutzung erleichtert. Es ist nicht schwierig, die WeChat-Klonfunktion auf Huawei-Mobiltelefonen zu implementieren. Sie müssen lediglich die folgenden Schritte ausführen. Schritt 1: Stellen Sie sicher, dass die Version Ihres Mobiltelefonsystems und die WeChat-Version den Anforderungen entsprechen. Stellen Sie zunächst sicher, dass die Version Ihres Huawei-Mobiltelefonsystems sowie die WeChat-App auf die neueste Version aktualisiert wurden.

So verwenden Sie Copilot zum Generieren von Code So verwenden Sie Copilot zum Generieren von Code Mar 23, 2024 am 10:41 AM

Als Programmierer bin ich begeistert von Tools, die das Programmiererlebnis vereinfachen. Mithilfe von Tools der künstlichen Intelligenz können wir Democode generieren und die erforderlichen Änderungen entsprechend den Anforderungen vornehmen. Das neu eingeführte Copilot-Tool in Visual Studio Code ermöglicht es uns, KI-generierten Code mit Chat-Interaktionen in natürlicher Sprache zu erstellen. Durch die Erläuterung der Funktionalität können wir die Bedeutung des vorhandenen Codes besser verstehen. Wie verwende ich Copilot zum Generieren von Code? Um zu beginnen, müssen wir zunächst die neueste PowerPlatformTools-Erweiterung herunterladen. Um dies zu erreichen, müssen Sie zur Erweiterungsseite gehen, nach „PowerPlatformTool“ suchen und auf die Schaltfläche „Installieren“ klicken

Implementierungshandbuch für PHP-Spielanforderungen Implementierungshandbuch für PHP-Spielanforderungen Mar 11, 2024 am 08:45 AM

Implementierungsleitfaden für PHP-Spielanforderungen Mit der Popularität und Entwicklung des Internets erfreut sich der Markt für Webspiele immer größerer Beliebtheit. Viele Entwickler hoffen, die PHP-Sprache zur Entwicklung ihrer eigenen Webspiele nutzen zu können, und die Umsetzung der Spielanforderungen ist ein wichtiger Schritt. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Sprache allgemeine Spielanforderungen implementieren und spezifische Codebeispiele bereitstellen. 1. Spielfiguren erstellen In Webspielen sind Spielfiguren ein sehr wichtiges Element. Wir müssen die Attribute des Spielcharakters wie Name, Level, Erfahrungswert usw. definieren und Methoden für deren Bedienung bereitstellen

See all articles