Ich bin neu bei jQuery und es sieht so aus, als ob ich deine Hilfe brauche, nachdem ich nichts von Google bekommen kann. Ich habe ein normales Akkordeonmenü mit Menüs (Level-1) und Untermenüs (Level-2). In den meisten Fällen verweisen nur die Level-2-Links auf eine href-Verbindung und die Level-1 ist wie eine Kopfzeile, aber in einigen Fällen benötige ich die level-1-Verknüpfung, um beispielsweise HTML-Inhalte abrufen zu können. Wenn Sie also auf das übergeordnete Menü klicken, wird der HTML-Inhalt abgerufen und gleichzeitig das Untermenü angezeigt.Akkordeonmenü mit übergeordnetem Link, der sich auch auf irgendeinen Inhalt bezieht
Unten ist mein Code. Wenn ich auf den Level-1-Link klicke, wird in der Adresszeile das # -Zeichen angezeigt, weil in der zweiten Zeile meines Codes der href-Wert als # -Zeichen angegeben ist. Wenn ich den Wert entferne, geht es auf die gewünschte Seite und zeigt das umgeschaltete Menü (Level-2) an, aber Level-2-Menü verschwindet schnell. Jede Hilfe wird geschätzt. Danke im Voraus.
$(document).ready(function() {
var submenu = $(location).attr('href').substring(url.lastIndexOf('/'), url.length);
var LinkObj = $('a[href*="' + submenu + '"]').parent();
$('.mainmenunav').find(LinkObj).parent().show();
SelLink = $('.mainmenunav').find(LinkObj).parent();
$('.level-1 > li > a').click(function(){
if (SelLink != null && SelLink.html() != $(this).next().html()){
SelLink.slideToggle(800);
}
$(this).next().slideToggle(400);
if (SelLink != null && SelLink.html() == $(this).next().html()){
SelLink = null;
}else{
SelLink = $(this).next();
}
});
});
Die HTML-Ansicht:
<ul id="mainmenunav">
<li>Sport
<ul>
<li><a href="#">Football</a></li>
<li><a href="#">Tennis</a></li>
</ul>
</li>
<li><a href="#">News</a>
<ul>
<li><a href="#">Africa</a></li>
<li><a href="#">Asia</a></li>
</ul>
</li>
</ul>
Wenn ich den Level-1-Link klicken, um die Adressleiste es das Zeichen # zeigt, die da in der zweiten Zeile von meinem Code ist ich die href haben Wert als # -Zeichen zugewiesen. Wenn ich den Wert entferne, geht es auf die gewünschte Seite und zeigt das umgeschaltete Menü (Level-2) an, aber Level-2-Menü verschwindet schnell. Versteh den Grund nicht.
Was bedeutet "eine Seite laden". Ist dieser Link eine neue HTTP-Anfrage oder XMLHttp Anfrage? Wenn es Http ist, warum gleitest du die Kindergegenstände. – Yorgo
Ich möchte die Ebene-1-Link eine HTTP-Anfrage machen und gleichzeitig die Level-2-Links anzeigen. Mit der Antwort, die RemarkLima unten gegeben hat, geht der Link auf die gewünschte Seite und zeigt auch die Untermenüs, aber die Untermenüs schließen sich schnell wieder. – Adia
@Adia Ich sehe, was du jetzt meinst ... Während du eine neue Seite lädst, wird sie immer in den "geladenen" Zustand zurückkehren, es sei denn du lädst die Seite in einen iFrame oder eine andere Trickserei. Meine Präferenz hier würde sein, die Seite für die richtige Seite zu laden und das Menü entsprechend anzuzeigen. Ich werde meine Antwort unten bearbeiten, um Ihnen zu zeigen, was ich meine. – RemarkLima