设置活动链接(不带 ul 列表)
Set active link (without ul list)
我正在搜索这个,但只找到基于ul列表的解决方案。
我有这个代码:
<div class='nav'>
<a class='nav-link nav-01' id="tab01" href='#scene-1'></a>
<a class='nav-link nav-02' id="tab02" href='#scene-2'></a>
<a class='nav-link nav-03' id="tab03" href='#scene-3'></a>
<a class='nav-link nav-04' id="tab04" href='#scene-4'></a>
</div>
我想在单击它时更改类(例如"nav-01"到"nav-01-on")。此外,每个链接都有一个不同的活动类样式(nav-01-on 表示 nav-01,nav-02-on 表示 nav-02...)。
有什么建议吗?提前感谢;-)
此外,每个链接都有一个不同的活动类样式(nav-01-on 表示 nav-01,nav-02-on 表示 nav-02...)。
由于您正在使用类,因此实际上不需要使用不同的类名来描述链接的"活动"状态。这就是CSS类很酷的地方。
由于您的链接已经具有唯一标识符,以您提供给它们的 id
属性的形式,因此您只需要应用通用的"活动状态"类,例如 on
(可以是您想要的任何内容)。然后在你的CSS中,你可以做一些类似的事情
.on { /* 具有 .on 类的元素的一般规则 */ } #tab01.on { /* 带有 .on 类的元素 #tab01 的特定规则 */ }
我想在单击它时更改类(例如"nav-01"到"nav-01-on")。
由于您的问题被标记为jquery
我将使用 jQuery,所以这里有一个你想要的天真的解决方案。我相信你可以改进它。
//We start assuming we have no active link
var $activeLink = null;
//We apply a listener to every element with the class .nav-link, using jQuery
$('.nav-link').click(function() {
if ($activeLink) {
$activeLink.removeClass('on');
}
//Store the link we clicked on as the active link.
//Notice we are wrapping it with the jQuery function,
//so $activeLink is a jQuery object
$activeLink = $(this);
$activeLink.addClass('on');
});
这是上面的一个小提琴:https://jsfiddle.net/p1tumym9/4/
工作小提琴
为了让自己的生活更轻松,你应该做的是在单个active
类之间切换,在你的 CSS 中只需指定每个链接在具有active
类时的外观,而不是创建一堆独特的类(这可能很难管理)。
如何在活动链接之间切换:
$('.nav').find('a').click(function(){
// Remove active class from all links
$('.nav').find('a').each(function(){
$(this).removeClass('active');
});
// Add active class to current link
$(this).addClass('active');
});
在你的CSS中,只需指定每个链接在给定active
类时的外观:
.nav-01.active {
/* active styles for nav-01 */
}
.nav-02.active {
/* active styles for nav-01 */
}
.nav-03.active {
/* active styles for nav-01 */
}
.nav-04.active {
/* active styles for nav-01 */
}
相关文章:
- JQuery Mobile UL列表仍然不能用于动态列表
- 将 ul 列表保存到 json 对象中
- 在转换后的 UL 列表中添加选择选项
- 创建带有文本输入和按钮的 UL 列表
- jQuery使用XML数据更新UL列表
- 当我点击Hospitails的td时,如何调用ul列表
- 带有svg和tspan的ul列表
- 设置活动链接(不带 ul 列表)
- 更改 ul 列表中的反应式链接
- 在两个或多个 UL 列表之间切换,如果单击一个列表,则其他列表会自动以初始状态返回,就像从未单击过一样
- Jquery 在加载 CSS ddsmoothmenu 之前显示 UL 列表结构
- 将活动类添加到导航中的 ul 列表中
- AngularJS嵌套ul列表和ng-repeat
- 为什么 ajax 不会填充我的 ul 列表
- 将选择列表更改为 ul 列表
- 单击DIV时,如何切换UL列表
- 用于搜索UL列表的搜索框或自动完成文本框
- UL列表调整位置
- 按span内容排序ul列表
- 在JavaScript中查找两个JSON数组之间匹配的JSON项,并将CSS应用于UL列表中的匹配项