排序按钮
实现如下效果:
鼠标点击模块,改变字体颜色,边框、背景色,其他模块还原。
鼠标移上未选择模块,改变边框及字体颜色。
存在问题
如何使用JS(JQuery)取到单个模块,我的总是一移上全变了
实现如下效果:
鼠标点击模块,改变字体颜色,边框、背景色,其他模块还原。
鼠标移上未选择模块,改变边框及字体颜色。
如何使用JS(JQuery)取到单个模块,我的总是一移上全变了
样式::
<style>
ul
{
height: 66px;
} li {
float: left;
height: 100%;
list-style: none;
}
a{
display: block;
padding: 0 20px;
line-height: 66px;
border: 1px solid transparent;
}
a:hover{
border: 1px solid red;
}
li a.now {
background: red;
border: 1px solid blue;
color: #ffffff;
}
</style>
结构————————————————————————————————
<ul>
<li><a href="">综合排序</a></li>
<li><a href="">销量</a></li>
<li><a href="">价格</a></li>
<li><a href="">时间</a></li>
</ul>
js——————————————————————————————
<script>
var a = document.querySelectorAll('li a');
a.forEach(function ( v , i ) {
// 注册事件
v.addEventListener("click",function(e){
e.preventDefault();
// 移除奇谈元素的now类
a.forEach(function( v ){
v.classList.remove("now")
});
// 给自己添加now类
this.classList.add( "now" );
});
});
</script>
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
5 回答2.2k 阅读
3 回答1.7k 阅读✓ 已解决
5 回答800 阅读
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
如果非要用jq的话,首选确认下这几个标签是否是兄弟元素。
如果是,给每个标签添加
mouseenter
事件,然后通过事件可以获取到当前元素e.target
,来设置css属性。然后再通过jq的
siblings
获取其他兄弟元素,来设置css属性。伪码: