2016-09-14 67 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);

現在,我只是尋求幫助,使其保持擴張,一旦新的頁面被加載。

另外,這兩個函數會在設計中產生衝突嗎?

+0

大家好,我又試了你的方法後,我在你的參考檢查語法,現在有用。 但是還有一些新的問題。如果我將來在兩個不同的父類別下應該有一個子類別A,那麼它們都將被擴展。 此外,由於它是一個網上商店即時通訊工作,我想在查看產品時擴展菜單。 – 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

感謝您的回答。 這裏是一個鏈接到菜單im試圖創建,我以爲你想看到的HTML。不要介意混亂:) http://web14.simo9928.iba-abakomp.dk/wordpress/produkt-kategori/fiskegrej/endegrej/spinnere/ 我試過你的例子沒有運氣。 目前嘗試此: $(文件)。就緒(函數(){ VAR pgurl = window.location.href.substr(window.location.href.lastIndexOf( 「/」)+ 1); \t $ (「.sub-menu li a」)。each(function(){if($(this).attr(「href」)== pgurl) $(this).addClass(「active」); } ) }); 任何幫助表示讚賞。 – Vegapunk

+0

我在哪裏添加了活動{display:block!important; }到CSS – Vegapunk

相關問題