2011-12-24 86 views
0

我有一個導航欄HTML CSS &編碼,我想選擇和取消選擇狀態添加到每個按鈕的功能。我設置的第一個按鈕的狀態可以在window.onload功能選擇這樣的:事件處理的麻煩JS

<script type="text/javascript"> 

    window.onload = function() { 
     var nav = document.getElementById('textContainer'); 
     var navItems = nav.getElementsByTagName('a'); 
     var item = navItems[0]; 
     item.style.color = "#696969";      
}; 


</script> 

我然後在另一個函數中添加事件處理程序,使按鈕可以選擇和取消:

<script type="text/javascript"> 
    var nav = document.getElementById('textContainer'); 
    var activeItem = null; 
    var navItems = nav.getElementsByTagName('a'); 

    for (var i = 0; i < navItems.length; i++) { 
     navItems[i].addEventListener('click', 
     function() { 

      if (activeItem) { 
       activeItem.style.color = "#b3b3b3"; 
      } 

      this.style.color = "#696969"; 
      activeItem = this; 

      //alert(activeItem.innerText); 

     }, false); 
    } 
</script> 

但是,正如我添加了這個,在window.onload函數中設置的第一個按鈕不會像其他按鈕一樣取消選擇,您必須單擊第一個按鈕,然後完成該操作,可以選擇它並取消選擇它在任何時候。

請你能告訴我我哪裏出錯了嗎?

感謝先進!

XcodeDev。

回答

0

讓你的第一個腳本:

<script type="text/javascript"> 
    var activeItem = null; 

    window.onload = function() { 
      var nav = document.getElementById('textContainer'); 

      var navItems = nav.getElementsByTagName('a'); 

      var item = navItems[0]; 
      activeItem = item; 

      item.style.color = "#696969"; 

    }; 


</script> 

再不用在第二個重新申報activeItem腳本。