2012-06-16 21 views
0

上週我用opencart創建了一個電子商店。現在我試圖自定義默認的頂層菜單。我想要做的就是保持父強調,即使子元素的選擇即使選擇了子元素,也要突出顯示父項(opencart)

我強調與這個js當前頁面:

<script type="text/javascript" > 
function extractPageName(hrefString) 
{ 
    var arr = hrefString.split('/'); 
    return (arr.length < 2) ? hrefString : arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase(); 
} 

function setActiveMenu(arr, crtPage) 
{ 
    for (var i=0; i < arr.length; i++) 
    { 
     if(extractPageName(arr[i].href) == crtPage) 
     { 
      if (arr[i].parentNode.tagName != "DIV") 
      { 
       arr[i].className = "current"; 
       arr[i].parentNode.className = "current"; 
      } 
     } 
    } 
} 

function setPage() 
{ 
    hrefString = document.location.href ? document.location.href :document.location ; 

    if (document.getElementById("menu") !=null) 
    setActiveMenu(document.getElementById("menu").getElementsByTagName("a"),extractPageName(hrefString)); 
} 


window.onload=function() 
{ 
    setPage(); 
} 

</script> 

任何幫助將不勝感激。

p.s.對不起我的英語,如果你不明白我想要做什麼。

+0

告訴我們更多關於這個問題。 –

+0

好的。上面的代碼只突出顯示了類別。我想要做的是當我點擊一個子項目以突出父母。 – Newbie

+0

任何想法如何做到這一點? – Newbie

回答

0

我想通了。 Tooraj給了我這個想法。這裏是我的代碼:

<script type="text/javascript" > 
function extractPageName(hrefString) 
{ 
    var arr = hrefString.split('/'); 
    return (arr.length < 2) ? hrefString : arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase(); 
} 

function setActiveMenu(arr, crtPage) 
{ 
    for (var i=0; i < arr.length; i++) 
    { 
     if(extractPageName(arr[i].href) == crtPage) 
     { 
      if (arr[i].parentNode.parentNode.parentNode.parentNode.tagName != "DIV", 
      arr[i].parentNode.tagName != "DIV") 
      { 
       arr[i].className = "current";    

       arr[i].parentNode.parentNode.parentNode.parentNode.className = "current"; 
           arr[i].parentNode= "current"; 
      } 
     } 
    } 
} 

function setPage() 
{ 
    hrefString = document.location.href ? document.location.href :document.location ; 

    if (document.getElementById("menu") !=null) 
    setActiveMenu(document.getElementById("menu").getElementsByTagName("a"),extractPageName(hrefString)); 

} 





window.onload=function() 
{ 
    setPage(); 
} 

</script> 
相關問題