在添加了"current"类在菜单中的活动项目使用jQuery,如何css更改项目的容器
After adding a "current" class to an active item in a menu using jQuery, how can css changes be made to the container of the item?
我为菜单栏中的当前项添加了一个"active"类,并为其实现了平滑滚动功能。(http://jsfiddle.net/T98VG/)
我想项目的背景颜色改变菜单栏,但这似乎不能正常工作。到目前为止,菜单栏中链接的背景颜色改变了,而链接所在的容器没有改变。我该如何实现呢?
为当前项目添加"active"状态的jQuery代码(可以正常工作):
$(document).ready(function () {
$(document).on("scroll", onScroll);
//smoothscroll
$('#nav a[href^="#"]').on('click', function (e) {
e.preventDefault();
$(document).off("scroll");
$('#nav a').each(function () {
$(this).removeClass('current');
});
$(this).addClass('current');
var target = this.hash,
menu = target;
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top-0
}, 1000, 'swing', function () {
window.location.hash = target;
$(document).on("scroll", onScroll);
});
});
});
function onScroll(event){
var scrollPos = $(document).scrollTop();
$('#nav a').each(function () {
var currLink = $(this);
var refElement = $(currLink.attr("href"));
if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
$('#nav a').removeClass("current");
currLink.addClass("current");
}
else{
currLink.removeClass("current");
}
});
}
这是一个JSFiddle的代码,我有到目前为止和问题(http://jsfiddle.net/T98VG/)。在菜单栏中有4个项目:#1,#2,#3和#4,只有活动链接的背景颜色被突出显示。我想框"navli"填充的颜色,以及。
我是新来的编码,所以所有的帮助是欢迎的。谢谢你!
您可以在每个链接上使用parent()
调用,并将current
类添加到链接的父类(<li>
)中,而不是链接本身。
查看更新后的JSFiddle
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 使用“+="操作人员
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- PHP无法显示带有“”的项目'"在他们身上
- 说明Node.js项目:是否只有一个"服务器文件“;在node.js中
- "搜索并销毁“;迭代不会'不要一次删除所有项目