
请问以下js代码该如何修改
问题是,一下几组图片,第一张是网站导航的标签,第二张是他的样式,第一张里面包含的有js,第三张是输出后的结果,可是我点击第二个导航的时候第一个的背景不会取消,是怎么回事,...
问题是,一下几组图片,第一张是网站导航的标签,第二张是他的样式,第一张里面包含的有js,第三张是输出后的结果,可是我点击第二个导航的时候第一个的背景不会取消,是怎么回事,不知是js问题还是哪里的问题,请你帮忙看看,可以回复的时候具体点谢谢了
展开
1个回答
展开全部
首先你的问题描述得也太那什么了,按我的理解,你是想要给导航条添加点击事件,点击切换的时候颜色跟着改变,
一般的情况下一个是这样写的,
$(function(){
$('.xxx li').click(function(){
//addClass给当前元素添加一个on的类
$(this).addClass('on');
//并且把当前的兄弟元素的on类移除(就是为了避免出现你这样的点击了其他位置原来位置还没有改变)
$(this).siblings().removeClass('active');
//把当前的父元素ul的兄弟元素的子元素li移除on类(你这里只是父级的子级就可以了,多的你自己删除)
$(this).parent('ul').siblings().find('li').removeClass('on');
//遍历xxx-x当前的index并且添加一个sho的类,移除兄弟元素的sho类(如果觉得上面的不好用,可以直接用这个就可以了,这个sho就是一个类名,你在样式里面写一个样式来定义就可以了,就是等于通过js来添加到html上)
$('.xxx-x').eq($(this).index()).addClass('sho').siblings().removeClass('sho')
});
});
一般的情况下一个是这样写的,
$(function(){
$('.xxx li').click(function(){
//addClass给当前元素添加一个on的类
$(this).addClass('on');
//并且把当前的兄弟元素的on类移除(就是为了避免出现你这样的点击了其他位置原来位置还没有改变)
$(this).siblings().removeClass('active');
//把当前的父元素ul的兄弟元素的子元素li移除on类(你这里只是父级的子级就可以了,多的你自己删除)
$(this).parent('ul').siblings().find('li').removeClass('on');
//遍历xxx-x当前的index并且添加一个sho的类,移除兄弟元素的sho类(如果觉得上面的不好用,可以直接用这个就可以了,这个sho就是一个类名,你在样式里面写一个样式来定义就可以了,就是等于通过js来添加到html上)
$('.xxx-x').eq($(this).index()).addClass('sho').siblings().removeClass('sho')
});
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询