jquery - 带有多个项目的导航,单击时添加类和删除类
问题描述
我有一个包含 6 个项目的导航,基本上我想在单击的任何 li 上添加一个 active-nav 类,然后我可以使用它来在该特定 li 上触发动画。虽然添加该类很容易,但我需要在单击另一个 li 时删除该类,然后将该类添加到新单击的 li 中。
<nav>
<div id="navigation">
<ul>
<li id="button-1"><button>1</button></li>
<li id="button-2"><button>2</button></li>
<li id="button-3"><button>3</button></li>
<li id="button-4"><button>4</button></li>
<li id="button-5"><button>5</button></li>
<li id="button-6"><button>6</button></li>
</ul>
<div id="outline"></div>
</div>
</nav>
基本上,如果我单击#button-1,我需要向其中添加一个活动类,但是如果我然后单击#button-4,我需要从#button-1 中删除该类,然后将其添加到#button-4
解决方案
<nav>
<div>
<ul id="navigation">
<li id="button-1" onclick="setActive('button-1')"><button>1</button></li>
<li id="button-2" onclick="setActive('button-2')"><button>2</button></li>
<li id="button-3" onclick="setActive('button-3')"><button>3</button></li>
<li id="button-4" onclick="setActive('button-4')"><button>4</button></li>
<li id="button-5" onclick="setActive('button-5')"><button>5</button></li>
<li id="button-6" onclick="setActive('button-6')"><button>6</button></li>
</ul>
<div id="outline"></div>
</div>
</nav>
<script type="text/javascript">
function setActive(button){
$("#navigation").children().removeClass("active");
$("#" + button).addClass("active");
}
</script>
推荐阅读
- react-native - 我如何将图标添加到在本机反应中具有堆栈导航的抽屉导航器项目
- groovy - 如何检查方法是否在 Groovy 中返回非零退出代码
- regex - 使用带有 gatsby 的 imageSharp 正则表达式的 graphQL 中的错误
- git - 拉 - 没有得到文件
- javascript - ReactJS/Javascript:React.createElement 期望字符串但传递了对象
- angular - 如何在端口 86 下将 Angular 5 托管到 iis
- r - How do I remove all valueless elements of a vector in R?
- c# - 我的 ChangeCalculator 做得对吗?
- python - 我将如何编辑现有模型字段条目?
- r - RPostgreSQL 中的查询非常慢