2016-09-14 8 views
0

私は現在、クリックすると拡張可能なメニューを作成しようとしていますが、子供がクリックされるまで開いたままにしておいてから、そのページに移動してくださいそのサイトに到達すると拡張されます。 (現在それは崩壊している)。子が現在アクティブであればメニューを親に展開

私は現在、クリックしたときに子どもを展開して表示するメニューを持っています。現在はjavascriptで作成されています。私はwordpressでメニューを作っています。そしてwordpressは自動的に "current-menu-item"というクラスを訪問しているliに追加します。

var clickMenu = function() { 
 
\t var getEls = document.getElementById("menu-shopmenu").getElementsByTagName("LI"); 
 
\t var getAgn = getEls; 
 

 
\t for (var i=0; i<getEls.length; i++) { 
 
\t \t \t getEls[i].onclick=function() { 
 
\t \t \t \t for (var x=0; x<getAgn.length; x++) { 
 
\t \t \t \t getAgn[x].className=getAgn[x].className.replace("unclick", ""); 
 
\t \t \t \t getAgn[x].className=getAgn[x].className.replace("click", "unclick"); 
 
\t \t \t \t } 
 
\t \t \t if ((this.className.indexOf('unclick'))!=-1) { 
 
\t \t \t \t this.className=this.className.replace("unclick", "");; 
 
\t \t \t \t } 
 
\t \t \t \t else { 
 
\t \t \t \t this.className+=" click"; 
 
\t \t \t \t } 
 
\t \t \t } 
 
\t \t \t getEls[i].onmouseover=function() { 
 
\t \t \t \t this.className+=" hover"; 
 
\t \t \t } 
 
\t \t \t getEls[i].onmouseout=function() { 
 
\t \t \t \t this.className=this.className.replace("hover", ""); 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 
\t 
 
window.addEventListener("load", clickMenu);

今私はちょうど新しいページがロードされたら、それは、拡張滞在作る助けを探しています。

また、これらの2つの機能がデザインに矛盾しますか?

+0

こんにちは私は今、あなたの参照の構文を確認した後、再び、私は再びあなたの方法を試してみましたできます。 しかし、いくつか新しい問題があります。もし私が将来、2つの異なる親カテゴリーの下にサブカテゴリーAを持つべきであれば、それらは両方とも拡張されるだろう。 また、Webshopの仕事をしているので、私は製品を見ている間にメニューを拡大したいと思っています。 – Vegapunk

答えて

0

current-menu-item要素の「親」だけをチェックできます。 display:blockまたはメニュー要素を表示させる他のCSSを適用します。 要件を満たしているかどうかを以下のコードで確認してください。

$(document).ready(function(){ 
    $(".current-menu-item").parent("your_parent_ul_div").css("display": "block"); 
}); 

リファhttps://api.jquery.com/parent/


リファ>Expand parent menu if child menu is selected

リファ>https://webdesignerhut.com/active-class-navigation-menu/

+0

あなたの答えをありがとう。 ここに、作成しようとしているメニューへのリンクがあります。あなたはhtmlを見たいと思っていました。混乱を気にしないでください:) http://web14.simo9928.iba-abakomp.dk/wordpress/produkt-kategori/fiskegrej/endegrej/spinnere/ 私は運が無ければあなたの例を試みました。 ; \t $ $(ドキュメント).ready(関数(){ VAR pgurl = window.location.href.substr(window.location.href.lastIndexOf( "/")+ 1):現在これをしようとして if($(this).attr( "href")== pgurl) $(this).addClass( "active"); }それぞれの機能() ) }); 何かお手伝いしました。 – Vegapunk

+0

ここでは、アクティブ{ディスプレイ:ブロック!重要; }をCSSに – Vegapunk

関連する問題