Ich richte gerade eine WordPress-Site ein und verwende diese Vorlage von ThemeForest, und hier ist die Live Vorschau woran ich gerade arbeite (was jetzt funktionieren sollte – bitte lassen Sie mich wissen, wenn es nicht funktioniert).
Ich habe das CSS so konfiguriert, dass der linke Rand beim Bewegen die hellgraue Farbe hat. Wenn dann auf den Link geklickt wurde, wäre der linke Rand dann die von mir gewählte blaue Farbe.
Wie unten gezeigt, liegt das Hauptproblem, das ich mit der Navigation habe, im CSS. Auf den Portfolio-Link (Portfolio-Abschnitt im Bild) wird weiterhin die ausgewählte Klasse angewendet, zusammen mit dem internen ungeordneten Listenelement. Ich möchte, dass es wie der Blog-Bereich im Bild aussieht, wo der Blog-Link nicht mehr auf das ausgewählte Klassenelement zutrifft.
Ich habe den Ersteller der Vorlage gefragt, warum dies geschieht; Seine Antwort war, dass unten ein weiterer Link vorhanden sein muss, der das Titelattribut „allportfolio“ enthält, damit es ordnungsgemäß funktioniert. Ich habe versucht, dieses Attribut zum Hauptportfolio-Link hinzuzufügen, habe dann aber die Liste vollständig geschlossen.
Wenn das Menü erstellt wird, erstellt der Browser die Portfolio-Auswahl auf folgende Weise in HTML:
<ul class="main-menu" id="menu-main-menu">
<li class="parent selected" id="menu-item-1172">
<p><a href="http://localhost/portfolio/" style="color: rgb(57, 57, 57);">Portfolio</a></p>
<div>
<ul class="sub-menu">
<li class="menu-item" id="menu-item-1158"><p><a data-filter="website-design" data-category="true" href="#">Website Design</a></p></li>
<li class="menu-item" id="menu-item-1157"><p><a data-filter="print" data-category="true" href="#">Print</a></p></li>
<li class="menu-item selected" id="menu-item-1156"><p><a data-filter="motion" data-category="true" href="#">Motion</a></p></li>
<li class="menu-item" id="menu-item-1155"><p><a data-filter="identity" data-category="true" href="#">Identity</a></p></li>
<li class="menu-item" id="menu-item-1167"><p><a data-filter="logos" data-category="true" href="#">Logos</a></p></li>
</ul>
</div>
</li>
Ich habe versucht, etwas Ähnliches wie diese Antwort zu geben, aber es hat nicht funktioniert, da es anscheinend nichts im Listenelement enthalten war. Der folgende jQuery-Code unten ist mein Versuch:
/*Portfolio links remove selected CSS setting*/
$('ul#menu-main-menu ul.submenu li p a').click(
function(){
$('ul#menu-main-menu li').removeClass('parent selected');
$(this).addClass('parent menu-item');
});
Ich fühle mich festgefahren, weil ich nicht herausfinden kann, wie der HTML-Code wie unten aussehen soll (nehmen Sie die CSS-Klasse „ausgewählt“ heraus und fügen Sie die CSS-Klasse „Menüpunkt“ hinzu):
<ul class="main-menu" id="menu-main-menu">
<li class="parent menu-item" id="menu-item-1172">
<p><a href="http://localhost/portfolio/" style="color: rgb(57, 57, 57);">Portfolio</a></p>
<div>
<ul class="sub-menu">
<li class="menu-item" id="menu-item-1158"><p><a data-filter="website-design" data-category="true" href="#">Website Design</a></p></li>
<li class="menu-item" id="menu-item-1157"><p><a data-filter="print" data-category="true" href="#">Print</a></p></li>
<li class="menu-item selected" id="menu-item-1156"><p><a data-filter="motion" data-category="true" href="#">Motion</a></p></li>
<li class="menu-item" id="menu-item-1155"><p><a data-filter="identity" data-category="true" href="#">Identity</a></p></li>
<li class="menu-item" id="menu-item-1167"><p><a data-filter="logos" data-category="true" href="#">Logos</a></p></li>
</ul>
</div>
</li>
UPDATE: Die @limelights-Antwort schien zu funktionieren, aber ich fand einige jQuery, die die Link-Hover-Effekte auf der Website beeinflussten, und war mir nicht sicher, ob dies der Grund dafür war, dass die Antwort auf den Code in der scripts.js-Datei von nicht funktionierte das WordPress-Template
/* Links roll over effect */
$('a').each(function(){
if(!$(this).data('filter') && !$(this).parent().parent().parent().hasClass('pagination'))
$(this).hoverFadeColor();
})
Außerdem bin ich dem, was ich erreichen möchte, sehr nahe, indem ich diesen Code verwende, um die internen Links endlich offen zu halten:
/*Portfolio links remove selected CSS setting*/
$('ul#menu-main-menu li div ul.sub-menu:first li.menu-item p a').click(
function(){
$('ul#menu-main-menu > li').removeClass('selected');
$('ul#menu-main-menu > li').css({'color' : '#222'}).addClass('menu-item');
$('ul#menu-main-menu li div:first').show();
});
Aber was es immer noch tut (wie unten zu sehen) ist, dass der Text immer noch wie der ausgewählte Text ausgewählt ist.
Jede Hilfe wird sehr geschätzt!
Ich habe die Frage nicht vollständig verstanden, möchten Sie, dass das übergeordnete Element deaktiviert wird, wenn das untergeordnete Element ausgewählt ist?
– Omi
6. Dezember 2012 um 16:55 Uhr
@OmidAmraei Es tut mir leid, wenn ich mich nicht ganz klar ausgedrückt habe. Ich möchte, dass das übergeordnete Element nicht ausgewählt wird, wenn das untergeordnete Element ausgewählt ist.
– Abriel
6. Dezember 2012 um 17:23 Uhr
Was ich in der Live-Vorschau sehe, ist genau das, was Sie wollen. Ich glaube, Sie haben die Vorlage mit falschen Codes bearbeitet.
– Omi
6. Dezember 2012 um 19:43 Uhr
@OmidAmraei Ich verstehe, was du meinst, aber der einzige Unterschied zwischen dem, was ich versuche, und dem, was in der Live-Vorschau gezeigt wird, ist, dass ich das nicht wollte Alle Verknüpfung. Das macht, was ich will, funktioniert, aber ich wollte das nicht Alle Link, um in der Hauptansicht zu erscheinen Portfolio Verknüpfung.
– Abriel
6. Dezember 2012 um 20:32 Uhr
Hallo Abriel. Ich bin immer noch ein wenig verwirrt von genau Ihrem Problem. Hier ist das beabsichtigte Verhalten, wie ich es sehe … Ich sehe die übergeordnete Show nur mit einem grauen linken Tab, wenn ich mit der Maus über ein Element in seinem Abschnitt fahre. Wollen Sie überhaupt nicht, dass der Elternteil diesen Schwebezustand hat? Nehmen wir zum Beispiel an, ich bin im Portfolio und klicke auf “Website-Design”. Das Problem ist, was, dass der übergeordnete Container immer noch einen Hover-Status anzeigt? Ich sehe kein merkwürdiges Verhalten in der von Ihnen bereitgestellten Vorschau. Wo ist der “Alle”-Link, auf den Sie sich beziehen?
– Platzregen046
10. Dezember 2012 um 15:37 Uhr