2015-08-14 53 views
0

我有一个主要和次要导航,当用户单击链接时,此链接的背景图像将更改为“活动”状态,并将所有其他链接重置为“不活动”。这适用于我的主要导航,但我的辅助导航不会重置,导致我的所有链接都处于活动状态。我的代码:
HTML导航按钮不会重置为非活动状态

<nav id="menu"> 
<div id="container"> 
<a href="#" id="menu-link1">Link 1</a> 
<a href="#" id="menu-link2">Link 2</a> 
<a href="#" id="menu-link3">Link 3</a> 
<a href="#" id="menu-link4">Link 4</a> 
<a href="#" id="menu-link5">Link 5</a> 
<a href="#" id="menu-link6">Link 6</a> 
</div> 
</nav><!--END MENU--> 

<div id="upperContent-title">Welcome</div> 
<div id="upperContent-body"> 
Welcome Text 
</div> 
<img id="upperContent-img" src="img/welcomeImg.png"/> 
</div><!--END UPPER CONTENT--> 

<nav id="middleNav"> 
<div id="middleContainer"> 
<a href="#" id="middleNavLinkCorner-link7">Link 7</a> 
<a href="#" id="middleNavLink-link8">Link 8</a> 
</div> 
</nav><!--END MIDDLE NAV--> 

CSS:

#menu{ 
    background-image:url(../menuBottom.jpg); 
    background-repeat:repeat-x; 
    position:absolute; 
    margin-left:auto; 
    margin-right:auto; 
    margin-top:4px; 
    width:1024px; 
    height:25px; 
    } 
#container{ 
    position:absolute; 
    margin-left:200px; 
    margin-top:-3px; 
    height:24px; 
    } 
nav a[id*="menu"]{ 
    background-image:url(../mainNav.png); 
    background-repeat:no-repeat; 
    display:inline-block; 
    text-align:center; 
    font-family:Arial,san-sarif; 
    text-decoration:none; 
    font-size:14px; 
    color:#000; 
    margin-left:-4px; 
    padding-top:5px; 
    margin-top:3px; 
    padding-bottom:10px; 
    width:129px; 
    height:25px; 
    } 
#upperContent{ 
    background-image:url(../upperWelcome.jpg); 
    background-repeat:no-repeat; 
    margin-left:auto; 
    margin-right:auto; 
    width:1024px; 
    height:306px; 

    } 
#upperContent-title{ 
    margin-left:60px; 
    padding-top:40px; 
    font-family:Arial,sans-serif; 
    font-size:36px; 
    color:#00853f; 
    width:459px; 
    } 
#upperContent-body{ 
    margin-left:60px; 
    padding-top:10px; 
    font-family:Arial,sans-serif; 
    font-size:14px; 
    color:#000000; 
    width:459px; 
    } 
#upperContent-img{ 
    position:absolute; 
    margin-left:578px; 
    margin-top:-183px; 
    } 
#middleNav{ 
    background-image:url(../middleNavBG.jpg); 
    background-repeat:no-repeat; 
    margin-left:auto; 
    margin-right:auto; 
    width:1024px; 
    height:43px; 
    } 
#middleContainer{ 
    margin-left:57px; 
    } 
nav a[id*="middleNav"]{ 
    background-image:url(../middleNavRect.jpg); 
    background-repeat:no-repeat; 
    display:inline-block; 
    text-align:center; 
    font-family:Arial,san-sarif; 
    text-decoration:none; 
    font-size:14px; 
    color:#FFF; 
    margin-left:-4px; 
    padding-top:8px; 
    margin-top:3px; 
    width:116px; 
    height:37px; 
    } 
nav a[id*="middleNavCorner"]{ 
    background-image:url(../middleNavRound.png); 
    background-repeat:no-repeat; 
    display:inline-block; 
    text-align:center; 
    font-family:Arial,san-sarif; 
    text-decoration:none; 
    font-size:14px; 
    color:#FFF; 
    margin-left:-4px; 
    padding-top:8px; 
    margin-top:3px; 
    width:116px; 
    height:37px; 
    } 

JS:

//Initialize Document.ready 
$(function(){ 
     //Navigation 

      //Main Nav 
      $("a[id*='menu']").on({ 
       click:function(e){ 
         $("nav a[id*='menu']").css('background-image','url(urlHere/mainNav.png)'); 
         $(this).css('background-image','url(urlHere/mainNavVisit.png)'); 
        } 
       }); 
      //Secondary Nav 
      $("a[id*='middleNav']").on({ 
       click:function(e){ 
         $("nav a[id*='middleNavLink']").css('background-image','url(urlHere/middleNavRect.jpg'); 
         $(this).css('background-image','url(urlHere/middleNavRectVisit.jpg)'); 
        } 
      }); 
});//End Document.ready 

的jsfiddle: JSFiddle Of Intended Result

任何帮助将不胜感激感谢!

+0

好的,如果辅助导航将链接设置为活动状态,那么您知道点击事件肯定会触发。这可能表明您的代码行有问题,选择所有导航栏来重置它们。我会尝试像这样:$(“nav a [id * ='middleNavLink']”)。addClass(“testing”);然后在开发工具中检查它们,只是为了确保它们能够通过您的选择获得。如果是这样,它可能暗示代码中的.css部分可能存在问题 - 可能是图像网址不正确?我注意到第一个导航代码有.png,但第二个导航代码有.jpg - 它是否也应该是.png?远射,但... –

+0

感谢您的建议卢克,它似乎已经修复了,但我很欣赏花时间来诊断这个问题。 – hexobolic

回答

0

此问题似乎在我的.js文档中。我复制了主导航中的工作代码,并将其用于辅助导航,它似乎工作正常,试图找出最初问题的确切原因,但似乎是某种定位或拼写错误。谢谢。

相关问题