js设置鼠标移动到li上显示背景色,鼠标离开后不显示背景色,在线等大神

ul下放置了4个li,当鼠标移动到第一个li上,第一个li上显示hover背景色,离开第一个li到第二个li上,第一个li不显示hover,第二个li显示hover,但是当鼠标离开li时候,依然显示hover的背景色,请问这是什么原因呢,一下是我的代码,求大神指点~~~

这种事用css伪类:hover更好,js的话,因为有两个列表,siblings可能有误,可以尝试将js代码改成这样:

$('#Nav ul li').hover(function() {
    $(this).addClass('hover');
}, function() {
    $(this).removeClass('hover');
});

追问

嗯嗯,这样是可以,刚才一开始我也用这段代码,跟你的一样,但是不行,现在复制了你的,果断可以了,真是奇怪啊,很满意,3q

追答

不客气,亲~

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-04
表示完全不需要JS的说。
直接在CSS样式里面写
li:hover{
background:red;

}追问

其实我这个代码做的是一个左侧固定通天导航,类似天猫的导航,你这样让所有的li 都用hover的话,那li所有元素都成红色了,是不行的

追答

你前面加个选择啊。我只是给你举个例子。你可以给你要变色的li加一个class
li.red:hover{
background:red;

}
这不就好了,更何况li有父级ul.div这些都可以,连类名都不用

追问

要是有很多个li,每个都加,不是累屁掉了,哈哈,不过还是谢谢你咯

追答

我就郁闷了,这世界是怎么了。你JS里面#Nav ul li 这样能写出来,那请问你JS选择的是所有的li???
真是人才。。你JS里面可以这样写,css不会??
#Nav ul li:hover{
background:red;

}
一定需要成品代码???

CSS\/js问题求教大侠:如何设定li的鼠标hover事件,鼠标经过任意 Li 菜单...
<li><img src="1.jpg" onmouseover="changeColor(this)"><\/li> <li><img src="2.jpg" onmouseover="changeColor(this)"><\/li> <\/ul> <script> function changeColor(imgObj){ document.body.style.backgroundImage="url("+imgObj.src+")";} <\/script> 你把img的src改成你的图片地址...

用js做下拉导航条 当鼠标指上去显示 鼠标移开就隐藏 怎么做 求代码...
首先结构如下:<style>.nav>li {width:120px;height:40px;display:inline-block;padding:5px 15px;background:#ddd;text-align:center}.nav li ul {display:none}.subnav li {padding:5px}.nav li:hover .subnav {display:block;background: #e8e8e8} <\/style> <ul class="nav"> <li>...

鼠标滑过,<li>背景怎么变色css怎么设置,或者js?
很简单不用Js,也不用大量代码,关键是样式 里加一句就行:li:hover {background:#4949d2; border-radius: 8px;}

...然后离开时还原,按下时背景有颜色,但是鼠标离开不改变
jq写如下(背景颜色换成图片也可以):<style type="text\/css"> .dh a{ background:#FFFFCC; width:50px; height:30px; display:block; text-align:center; color:#000000;} .dh a:hover{ background:#FF9900;} <\/style> <\/head> <body> <div> <div class="dh"><a href="#">导航...

<ul>中的<li>我点击一个<li>后这个的<li>改变背景色和字体颜色其他不变...
length; i++) { lis[i].onclick = function() { this.style.color = '#fff'; \/\/ 文字变为白色 this.style.backgroundColor = '#06c'; \/\/ 背景变为蓝色 } } <\/script><\/body><\/html>

<ul>中的<li>我点击一个<li>后这个的<li>改变背景色和字体颜色其他不变...
i); lis[i].onclick=function(){ for(var i=0;i<lis.length;i++){ if(this.getAttribute("index")==i){ lis[i].style.color="#fff"; lis[i].style.backgroundColor="#666"; }else{ lis[i].style.

<ul>中的<li>我点击一个<li>后其它的<li>全变背景色,求JS和CSS代码
function sel(obj){ var lis=document.getElementsByTagName("li");for(var i=0;i<lis.length;i++){ if(lis[i]!=obj){ lis[i].style.background="#00f";} else lis[i].style.background="#0ff"} } <\/script><ul> <li onclick="sel(this);"> 1111<\/li> <li onclick="sel...

js怎么设置鼠标滑过文字变色
设置鼠标滑过div时背景变色。给bg样式类添加鼠标滑过:hover,然后设置鼠标滑过时的背景颜色。如图 代码: .bg:hover{ background-color: burlywood; } 实用浏览器打开。保存好html后使用浏览器打开,在鼠标没有滑过div时背景是红色的,当鼠标滑过div的时候背景从红色变为了棕色。、所有代码,可把所有代码...

js 点击ul下面的其中一个li改变背景颜色 li其中一句:<li onclick="td...
使用li上的onclick事件 function td(obj){ jk(); obj.style.background = "red";}function jk(){ \/\/要用到obj的参数。我写到 var ul=document.getElementById('ul1'); var lii=ul.getElementsByTagName('li'); \/\/然后不会写了 for(var i=0;i<lii.length;i++){...

...而给单个li添加背景图实现不了放上时显示背景色?
给li设置背景色是给一组li设置的,你hover的应该也是所有的li标签,最简洁最无脑的方法是给每个li都设置不同的class,然后通过hover具有不同的class的li来实现你的效果。也可以通过配合js添加onmouthover事件,动态的给li标签添加显示背景色的class。

相似回答