Einige meiner Hauptmenüpunkte haben Dropdown-Menüs, einige nicht. Ich möchte festlegen, welche beim Hover und beim Klick angezeigt werden und welche nicht. Im folgenden Beispiel möchte ich das erste und vierte Drop-down-Fenster, , verbieten, da sie nur ein Element haben.jquery: keine spezifischen Dropdown-Menüs anzeigen
<div id="main-menu">
<ul>
<li><a href="http://piirissaareturism.ee/avasta-piirissaar/">Avasta Piirissaar</a>
<ul class="dropdown-menu">
<li><a rel="bookmark" href="http://piirissaareturism.ee/avasta-piirissaar/welcome-to-your-site">Welcome to Your Site!</a></li>
</ul>
</li>
<li><a href="http://piirissaareturism.ee/kasulik-info/">Kasulik info</a>
<ul class="dropdown-menu">
<li><a rel="bookmark" href="http://piirissaareturism.ee/kasulik-info/toitlustus">Toitlustus</a></li>
<li><a rel="bookmark" href="http://piirissaareturism.ee/kasulik-info/majutus">Majutus</a></li>
</ul>
</li>
<li><a href="http://piirissaareturism.ee/puhkajale/">Puhkajale</a></li>
<li><a href="http://piirissaareturism.ee/meist/">Meist</a>
<ul class="dropdown-menu">
<li><a rel="bookmark" href="http://piirissaareturism.ee/meist/mtu-piirissaare-turism">MTÜ Piirissaare Turism</a></li>
</ul>
</li>
</ul>
</div>
Ich benutze Jquery auch folgendes zu tun:
zuerst: nach unten rutschen Dropdown auf schweben
$('#main-menu ul li').hover(
function() {
$('ul', this).stop(true, true).delay(100).slideDown(300);
},
function() {
$('ul', this).stop(true, true).slideUp(300);
});
Sekunde: wenn Menüpunkt Dropdown hat - zeigen sie auf Klick und nicht Gehe zur URL des Eintrags, andernfalls gehe zur URL dieses Eintrags.
$('#main-menu ul li:has(.dropdown-menu)').on('click', function (event) {
if ($(event.target).parents('ul.dropdown-menu').length > 0) {
event.stopPropagation();
} else {
event.preventDefault();
}
$(this).find('ul').slideToggle();
});
ich weiß, ist meine Beschreibung abstrusen, aber Blick auf my jsfiddle besser zu verstehen.
Für Benutzererfahrung sollte die Interaktion mit Ihren Dropdown-Menüs nicht konsistent sein? "OnClick" auf einige und "Hover" auf den anderen? – midda25
Ja, das ist es, was ich vorhabe zu tun – Gallex