簡體   English   中英

從活動菜單項javascript開始

[英]start with active menu item javascript

嗨,我是新手,不確定我是否做對了。

我使用的Javascript將在點擊后裝飾一個活動鏈接。 問題是,如何加載已激活的菜單項之一的頁面?

示例: http//moschalkx.nl/

JavaScript代碼:

function hlite_menu(obj){
    var lnk=document.getElementById('menu').getElementsByTagName('A');
    for(var i in lnk){
        lnk[i].className=(lnk[i]===obj)?'menu_active':'menu_idle';
    }
}

function set_menu(){
    var lnk=document.getElementById('menu').getElementsByTagName('A');
    for(var i in lnk){
        lnk[i].className='menu_idle';
        lnk[i].onclick=function(){
            hlite_menu(this);
        }
    }
}

window.onload=set_menu;

CSS:

a.menu_idle {color:#333333; text-decoration:none;}
a.menu_active {color:#333333; text-decoration:underline;}
a:visited {color:#333333; text-decoration:none;}
a:hover {color:#333333; text-decoration:underline;}

您已經有了hlist_menu函數,該函數可以將特定鏈接設置為活動狀態,所以我只需要從set_menu函數中調用該鏈接,就應該以哪個鏈接應該處於活動狀態

function set_menu(){
    var lnk=document.getElementById('menu').getElementsByTagName('A');
    for(var i in lnk){
      lnk[i].className='menu_idle';lnk[i].onclick=function({hlite_menu(this);}}

      if (lnk[i] /* ??? how do you know whether this is the link to activeate up front? */ ) {
          hlist_menu(lnk[i]);
      }
    }

還有這個

lnk[i].onclick=function({hlite_menu(this);}}

可以簡化為

lnk[i].onclick = hlite_menu;

假設您將其更改為

function hlite_menu(){
    var lnk= document.getElementById('menu').getElementsByTagName('A');
    for(var i in lnk){
       lnk[i].className = (lnk[i] === this) ? 'menu_active':'menu_idle';
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM