In diesem Artikelbeispiel wird der spezifische JS-Code zur Implementierung eines benutzerdefinierten Dropdown-Felds zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt Umsetzungsideen: (1) Erstellen Sie eine Liste und ein Span-Tag (jedes beliebige Tag ist geeignet). (2) Binden Sie an jedes Element in der Liste ein Klickereignis. Wenn Sie auf ein Element klicken, ändert sich der Span-Inhalt in den Inhalt dieses Elements und blendet dann die Liste aus. (3) Um die Liste zunächst auszublenden, klicken Sie auf das Span-Tag, um es anzuzeigen. Wenn nichts ausgewählt ist, klicken Sie auf Dokument, um die Liste auszublenden. (4) Jede Taste auf der Tastatur hat ihren eigenen Tastencode. Anhand dieses Tastencodes lässt sich bestimmen, welche Taste gedrückt werden muss, um die entsprechende Operation auszuführen. Die folgende Funktion kann den Tastencode der Tastatur ermitteln. Dokument.addEventListener("keyup",Funktion(e){ console.log(e.Schlüsselcode) }) Kerncode: Inhalt, der durch die Auf-, Ab- und Eingabetasten auf der Tastatur ausgelöst wird //Tastaturdruckereignis document.addEventListener("keyup",function(e){ var e=e||Fenster.e; zurücksetzen() //Aufwärtstaste if(e.keyCode=="38"){ Index--; wenn(index<0){ index=Liste.Länge-1 } } //Taste runterif(e.keyCode=="40"){ Index++; wenn(index>list.length-1){ Index = 0 } } //Bestätigungsschlüssel eingebenif(e.keyCode=="13"){ cite.innerHTML=list[index].innerHTML; ul.style.display="keine"; zurückkehren ; } Liste[index].klassenName="bg"; }) Vollständiger Code: <!doctype html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Dropdown-Menü</title> <style type="text/css"> Körper, ul, li { Rand: 0; Polsterung: 0; Schriftgröße: 13px; } ul, li { Listenstil: keiner; } .divselect { Breite: 186px; Rand: 80px automatisch; Position: relativ; Z-Index: 10000; } .divselect zitieren { Breite: 150px; Höhe: 24px; Zeilenhöhe: 24px; Anzeige: Block; Farbe: #807a62; Cursor: Zeiger; Schriftstil: normal; Polsterung links: 4px; Polsterung rechts: 30px; Rand: 1px durchgezogen #333333; } .divselect ul { Breite: 184px; Rand: 1px durchgezogen #333333; Hintergrundfarbe: #ffffff; Position: absolut; Z-Index: 20000; Rand oben: -1px; Anzeige: keine; } .divselect ul li { Höhe: 24px; Zeilenhöhe: 24px; } .divselect ul li a { Anzeige: Block; Höhe: 24px; Farbe: #333333; Textdekoration: keine; Polsterung links: 10px; Polsterung rechts: 10px; } .divselect ul li:hover{ Hintergrund: #eee; } .bg{ Hintergrund: #eee; } </Stil> </Kopf> <Text> <div Klasse="divselect"> <span>Bitte klicken Sie, um eine Kategorie auszuwählen</span> <ul> <li> <a href="javascript:;">ASP-Entwicklung</a> </li> <li> <a href="javascript:;">.NET-Entwicklung</a> </li> <li> <a href="javascript:;">PHP-Entwicklung</a> </li> <li> <a href="javascript:;">Javascript-Entwicklung</a> </li> <li> <a href="javascript:;">Java-Effekte</a> </li> </ul> </div> <Skripttyp="text/javascript"> var cite = document.querySelector ("span"), //Ausgewählter Inhalt ul = document.querySelector ("ul"), //Liste list = document.querySelectorAll ("a"), //Ausgewähltes Element index = -1; //Index //Klicken Sie auf die Liste, um sie anzuzeigen cite.addEventListener ("click", function (e) { var e=e||Fenster.e; e.stopPropagation(); //Stoppt das Sprudeln, um das Auslösen versteckter, an das Dokument gebundener Ereignisse zu verhindern ul.style.display="block"; }) //Klick an jedes Listenelement binden for(var i=0;i<list.length;i++){ Liste[i].onclick=Funktion(){ zitieren.innerHTML=dieses.innerHTML; ul.style.display="none"; //Sie müssen hier nicht „hide“ schreiben. Wenn Sie „hide“ nicht schreiben, wird es in das Dokument eingeblendet und löst das Hide-Ereignis im Dokument aus} } //Tastaturdruckereignis document.addEventListener("keyup",function(e){ var e=e||Fenster.e; zurücksetzen() //Aufwärtstaste if(e.keyCode=="38"){ Index--; wenn(index<0){ index=Liste.Länge-1 } } //Taste nach untenif(e.keyCode=="40"){ Index++; wenn(index>list.length-1){ Index = 0 } } //Bestätigungsschlüssel eingebenif(e.keyCode=="13"){ cite.innerHTML=list[index].innerHTML; ul.style.display="keine"; zurückkehren ; } Liste[index].klassenName="bg"; }) //Klicken Sie auf das Dokument, um es auszublenden, wenn es nicht ausgewählt ist. document.addEventListener("click",function(){ ul.style.display="keine"; }) //Stil zurücksetzen Funktion reset(){ für(var i=0;i<Liste.Länge;i++){ Liste[i].Klassenname=""; } } </Skript> </body> </html> Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Erste Schritte mit MySQL Sharding
>>: IE8 Beta 1 hat zwei Bereiche, die Ihre Aufmerksamkeit erfordern
Inhaltsverzeichnis 1. Was ist die Anti-Shake-Funk...
Dieser Artikel verwendet die Lizenzvereinbarung „...
Nachfragehintergrund Ein Teil der Daten in der Ge...
Frage Das nahtlose Scrollen von Bildern und Texte...
1: Durchsatz (Anfragen pro Sekunde) Eine quantita...
Inhaltsverzeichnis 1. DHCP-Dienst (Dynamic Host C...
Nginx entscheidet zunächst, welcher Serverblock i...
Umweltanforderungen: IP Hostname 192.168.1.1 Knot...
Auftakt Wir alle wissen, dass nginx ein hervorrag...
1. Filter Beispiel: <!DOCTYPE html> <htm...
Vorwort Das Zusammenführen oder Aufteilen anhand ...
HTML5 und jQuery implementieren die Vorschau loka...
Hinweis: Um das Root-Passwort in MySQL 5.7 zu kna...
Als ich mir in letzter Zeit einige CSS3-Animation...
Inhaltsverzeichnis Vorwort Einrichten der Protoko...