JS ul li当前选中状态样式冲突问题。

写了个ulli的当前选中变样式状态效果。但是选中后hover鼠标移动效果就没有用了。如图:初始样式鼠标移动过样式变红鼠标点击当前选中变绿但是选中后ulli:hover的样... 写了个ul li的当前选中变样式状态效果。但是选中后hover鼠标移动效果就没有用了。
如图:
初始样式

鼠标移动过样式变红

鼠标点击当前选中变绿

但是选中后ul li:hover 的样式就没用了! 我想要选中的li 没有hover样式, 没选中的有hover样式。这怎么改?求代码。

以下是我的代码:

<head>

<title>hover没用了</title>
</head>
<style type="text/css">
ul li {
background: #f8f8f8;
color: #999999;
border: 1px solid #cccccc;
}
ul li:hover {
background: #F00;
}
</style>
<body>
<div id="t_button">
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</div>
</body>
<script type="text/javascript">
document.getElementById("t_button").onclick = function(e){
e = e || window.event;
var target = e.srcElement || e.target,
tagName = target.tagName.toLowerCase(),
allLi = document.getElementById("t_button").getElementsByTagName("li");

for(var i=0,len=allLi.length;i<len;i++){
if(target == allLi[i]){
allLi[i].style.background = "#66bb6a";
allLi[i].style.color="#FFF";
allLi[i].style.border="1px solid #66bb6a";
}else{
allLi[i].style.background = "#f8f8f8";
allLi[i].style.color="#999999";
allLi[i].style.border=" 1px solid #cccccc";
}
}

};
</script>
</html>
展开
 我来答
匿名用户
推荐于2016-05-31
展开全部
<!DOCTYPE html>
<html>

    <head>

        <title>hover没用了</title>

        <style type="text/css">
            ul li {
            
            background: #f8f8f8;
            
            color: #999999;
            
            border: 1px solid #cccccc;
            
            }
            
            ul li.item:hover {
            
            background: #F00;
            
            }
            ul li.on{
                background: green;
            }
        </style>
    </head>

    <body>

        <div id="t_button">

            <ul>

                <li class="item">a</li>

                <li class="item">b</li>

                <li class="item">c</li>

            </ul>

        </div>
    <script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#t_button li").on("click",function(){
                var $this = $(this);
                $this.addClass("on").removeClass("item");
                if($this.siblings(".on").length>0){
                    $this.siblings(".on").addClass("item").removeClass("on");
                };
            })
        })
    </script>
    </body>


</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
志当存高远389
2015-06-17 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11237 获赞数:20405
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
参考:
a:link,a:visited {color:#000000;text-decoration:none;}a:hover,a:active {color:#000ff0;text-decoration:underline;}

希望能帮助到你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式