【问题标题】:changing color of a link when clicked and change back when clicked again单击时更改链接的颜色并在再次单击时更改回来
【发布时间】:2012-12-19 17:11:19
【问题描述】:

我的网站顶部有一个水平导航栏。其中两个选项具有子菜单,单击时会下拉,再次单击时会隐藏,使用 javascript。我想让这两个选项中的每一个在其各自的子菜单显示时都会改变颜色,然后又变回它们被隐藏起来。

HTML 结构:

<ul id="navigationbar">
  <li><a id="parentitem1">Option 1</a></li> 
     <nav id="dropdownmenu1">
       <ul>
         <li><a id="childitem 1a">sub-option 1a</a></li>
         <li><a id="childitem 1b">sub-option 1b</a></li>
         <li><a id="childitem 1c">sub-option 1c</a></li>
       </ul>   
     </nav>  
  <li><a id="parentitem2">Option 2</a></li>   
     <nav id="dropdownmenu2">
       <ul>
         <li><a id="childitem 2a">sub-option 2a</a></li>
         <li><a id="childitem 2b">sub-option 2b</a></li>
         <li><a id="childitem 2c">sub-option 2c</a></li>
       </ul>   
     </nav>   
</ul> 

当父项被按下时,带有子项的导航部分会使用 javascript 显示。我想这样做,当我单击父项以显示其子菜单时,父项变为灰色……当您再次单击它以隐藏其子菜单时,它又变为橙色。我还想这样做,以便当您从一个父项单击另一个父项时,它也会将第一个父项更改回橙色。

【问题讨论】:

  • 请张贴菜单的html结构。
  • 并向我们展示您迄今为止所做的尝试,以便我们知道可以为您提供哪些建议。 “给某人一条鱼……学习如何钓鱼……”那条鱼怎么样?!……

标签: jquery colors hyperlink navigation


【解决方案1】:
$('#super_horizontal_bla').find('.super_toggler').click(function(){

  $('.splendid').removeClass('splendid');
  $(this).toggleClass('splendid');

});

CSS

.splendid{
  super-attribute : here ;
}

http://api.jquery.com/toggleClass/

【讨论】:

  • 谢谢分配,这让我走到了一半:) 现在我需要得到它,这样当我点击一个选项时,它会将另一个选项变回原来的颜色。
  • 一种更好的表达方式....现在我需要做到这一点,以便在任何时候都只能突出显示两个链接中的一个...即单击另一个链接将打开第一个链接回到原来的颜色,反之亦然。
  • @JesseSutton-Jones 编辑了我的答案。欢迎来到 S.O btw,如果您认为某个答案可以帮助您解决问题,请务必接受。并阅读常见问题解答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
相关资源
最近更新 更多