Ich versuche eine jquery-Funktion einzurichten, die die Fensterbreite überprüft, damit eine Navigationsleiste richtig funktioniert. Was ich möchte, ist dies: Wenn die Bildschirmbreite größer als 949px ist, initiiere eine Funktion, die das Schweben auf einem .Dropdown-Anker-Link öffnet ein Dropdown-Untermenü öffnen; Wenn die Bildschirmbreite kleiner oder gleich 949px ist, entfernen Sie diese Funktion, sodass der .dropdown-Ankerlink angeklickt werden muss, um das Dropdown-Untermenü zu öffnen (die standardmäßig geöffneten Dropdown-Links beim Anklicken) Dies ist eine Bootstrap-Komponente).jquery window resize funktioniert nur einmal statt bei jeder Größenänderung
Ich habe ein paar Funktionen basierend auf einigen ähnlichen Beispielen erstellt, die ich auf stackoverflow gefunden habe, aber festgestellt, dass die Funktion nur auslöst, wenn die Bildschirmbreite 949px überschritten hat. Bei kleineren Breiten öffnen die .dropdown-Anker noch Untermenüs per Hover was ich nicht will.
var width = $(window).width();
$(window).resize(function(){
if($(this).width()>949){
$(".dropdown").hover(function(){
$(this).addClass("open");
},
function(){
$(this).removeClass("open");
});
}
});
Wie kann ich diese Funktion verbessern, so dass die .dropdown Hover-Funktionalität bei Breiten über 949px und entfernt bei 949px und unten hinzugefügt wird?
einfach sicherstellen möchten: var a - b; Ist diese Syntax korrekt oder nur ein Tippfehler? – elfwyn
Ich sehe, dass Sie das Hover-Ereignis zu den .dropdown-Boxen hinzufügen, wenn die Größe größer als 949 ist, aber möchten Sie diesen Listener nicht entfernen, sobald die Größe kleiner ist? Ich bin nicht sehr an den jQuery-Weg gewöhnt, aber ich bin mir sicher, dass es Funktionen hat, um einen Event-Listener zu entfernen: schau dir on() und off() an – elfwyn
Hey - du hast Recht, das war ein Tippfehler, der bearbeitet wurde . Ich bin nicht ganz sicher, wie ich mein Skript mit deinem Vorschlag überarbeiten soll ... Ich denke, dass beide Funktionen (Hinzufügen von Hover oder Entfernen von Hover) von "On" Change-Events abhängig sind. –