我有这样一个需求,有多个li列表,鼠标放到其中一个li上的时候文字变色,底部有一个粗线条,点击后,文字也变色,底部也有粗线条,当鼠标放到其他li上的时候,这个li项中的文字变色,底部有一个粗线条,点击这个li中的文字的时候,之前被点击的li项恢复最初的样式,现在被点击的li中的文字变色,底部出现粗线条,但是点击其他li中文字的时候,原来被点击的li的样式没有恢复最初的效果。我的样式定义如下:
.ziyuankuai1{
width:100px;
height:30px;
line-height:25px;
margin:13px;
float:left;
font-size:14px;
font-weight:bold;
color:#000;
text-align: left;
cursor:pointer;
overflow: hidden;
}
.ziyuankuai1 li{
margin-left: -15px;
}
.ziyuankuai1:hover {
width:100px;
height:30px;
line-height:25px;
color: #000;
margin:13px;
float:left;
font-size:14px;
font-weight:bold;
cursor:pointer;
text-align: left;
overflow: hidden;
cursor:pointer;
color:orange;
border-bottom:2px solid orange;
}.ziyuankuai1selected{
cursor:pointer;
color:orange;
border-bottom:2px solid orange;
}页面代码如下:
<ul class="w3-ul w3-center">
<div class="ziyuankuai1">
<li>项目一</li>
</div>
<div class="ziyuankuai1">
<li>项目二</li>
</div>
<div class="ziyuankuai1">
<li>项目三</li>
</div>
<div class="ziyuankuai1">
<li>项目四</li>
</div>
</ul>js代码如下:
<script type='text/javascript' language='javascript'>
$(document).ready(function(){
$(".w3-ul li").click(function(){
$(this).parent().addClass("ziyuankuai1selected").siblings().addClass("ziyuankuai1");
});
});</script>
.ziyuankuai1{
width:100px;
height:30px;
line-height:25px;
margin:13px;
float:left;
font-size:14px;
font-weight:bold;
color:#000;
text-align: left;
cursor:pointer;
overflow: hidden;
}
.ziyuankuai1 li{
margin-left: -15px;
}
.ziyuankuai1:hover {
width:100px;
height:30px;
line-height:25px;
color: #000;
margin:13px;
float:left;
font-size:14px;
font-weight:bold;
cursor:pointer;
text-align: left;
overflow: hidden;
cursor:pointer;
color:orange;
border-bottom:2px solid orange;
}.ziyuankuai1selected{
cursor:pointer;
color:orange;
border-bottom:2px solid orange;
}页面代码如下:
<ul class="w3-ul w3-center">
<div class="ziyuankuai1">
<li>项目一</li>
</div>
<div class="ziyuankuai1">
<li>项目二</li>
</div>
<div class="ziyuankuai1">
<li>项目三</li>
</div>
<div class="ziyuankuai1">
<li>项目四</li>
</div>
</ul>js代码如下:
<script type='text/javascript' language='javascript'>
$(document).ready(function(){
$(".w3-ul li").click(function(){
$(this).parent().addClass("ziyuankuai1selected").siblings().addClass("ziyuankuai1");
});
});</script>
解决方案 »
- jquery 判断鼠标移动方向
- excel下载时,怎样不让ie出现信息栏安全提示
- 页面一直处于加载状态
- 服务企业为Linux时,InetAddress.getLocalHost().getHostAddress()为何得到为127.0.0.1?
- 急问,如何动态给img加上id,在线等!谢谢!
- jquery怎样提取一个含.good的.bd集?
- 高手请进,百分请教个URL附加参数,列出查询结果的问题
- 请教:如何让某一个JavaScript函数等到网页完全加载后执行?
- javascript怎么使用session值?
- 现在exec方法的返回结果中是不是没有lastIndex属性了?求大神解答
- 求助!!!
- JavaScript canvas
第一是 $(this).parent().addClass("ziyuankuai1selected").siblings().removeClass("ziyuankuai1selected");
这个方法确实有效,但是我点击以后,文字没有变成我想要的橙色,只有文字底部出现了那个橙色的粗线条,难道
.ziyuankuai1selected{
cursor:pointer;
color:orange;
border-bottom:2px solid orange;
}
这个样式的color:orange不起作用吗?第二,我有2个父容器,分别放了多个<li></li>,这样,点击第一个父容器下的某个<li>以后,这个<li>的底部有橙色粗线条,再去点第二个父容器下的任意一个<li>,这时第一个父容器下刚才被点击的<li>还是保持被点击的样式,而我想要的是这2个容器中的任意<li>被点击以后,之前的被点击的<li>恢复最初默认的样式。
<div class="lishibanji">
<div class="ziyuankuai1">
<li>项目一</li>
</div>
<div class="ziyuankuai1">
<li>项目二</li>
</div>
<div class="ziyuankuai1">
<li>项目三</li>
</div>
....
</div><div class="huodongbanji">
<div class="ziyuankuai1">
<li>项目四</li>
</div>
<div class="ziyuankuai1">
<li>项目五</li>
</div>
<div class="ziyuankuai1">
<li>项目六</li>
</div>
</div>