如何更改div
bg color
从鼠标悬停在另一个div
上时...... {/ p>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
.Div1{width:100px; height:100px; background-color:red; float:left; margin-right:30px; }
.Div2{width:100px; height:100px; background-color:#00C; float:left }
</style>
</head>
<body>
<div class="Div1">asdlsakd</div>
<div class="Div2">asdsa</div>
</body>
</html>
当我将鼠标悬停在div2
上时,我想将div1的颜色更改为黄色?
这是我的小提琴链接:http://jsfiddle.net/anupkaranjkar/S5Yu5/
答案 0 :(得分:2)
jQuery方式:
尝试使用jQuery
.show();
和.hide();
功能。
HTML:
<div id="div1">This is div1</div>
<div id="div2">This is div2</div>
CSS:
#div1{
width:100px;
height:100px;
background-color:red;
}
#div2{
width:100px;
height:100px;
background-color:blue;
display:none;
}
jQuery的:
$("#div1").hover(function() {
$("#div2").show();
},
function() {
$("#div2").hide();
});
不要忘记链接到jquery.min.js
。
将<script src="http://code.jquery.com/jquery-latest.min.js"></script>
添加到您的<head></head>
代码中。否则它将无法工作。
看一下 fiddle
修改强>
纯CSS:
在你的div周围放一个容器,如下所示:
<div id="content">
<div id="div1">This is div1</div>
<div id="div2">This is div2</div>
</div>
之后,您可以这样使用:first-child
和:hover
:
//styling your divs
#div1{
width:100px;
height:100px;
background-color:red;
}
#div2{
width:100px;
height:100px;
background-color:blue;
display:none;
}
//hover function
#content > div:first-child{
display:block;
}
#content > div:hover + div {
display:block;
}
如果您想在实践中看到它,请查看 demo
答案 1 :(得分:1)
如上述用户所述,您应该使用:hover
来实现这一目标。然而,他们给你一个例子当你盘旋div本身时该做什么。
你的问题是如果你改变颜色如果你去了另一个div,所以继承代码,这意味着第二个div嵌套在第一个div中:
Div1:hover Div2 {
background-color: yellow;
}
以下是使用JQuery实现的示例,无论它们是否嵌套都无关紧要:
var defaultBackground = $("div#two").css("background-color");
$( "div#one" )
.mouseover(function() {
$("div#two").css("background-color", "yellow");
})
.mouseout(function() {
$("div#two").css("background-color", defaultBackground);
});
为了匹配您的HTML代码,我更新了JSFiddle: http://jsfiddle.net/S5Yu5/1/
以防万一其他人需要这个解决方案(我在任何地方都看不到)
这可以使用CSS / HTML,但前提是div直接位于彼此之下。
#Div1:hover + Div2 {
background-color: yellow;
}
答案 2 :(得分:0)
您需要的是:hover
Div1:hover {
background-color:yellow;
}
答案 3 :(得分:0)
您只需使用css
即可Div1:hover {
background-color:yellow;
}
OR
使用JQuery
$("div").hover(function() { // mouseenter
$(this).addClass("hover");
}, function() { // mouseleave
$(this).removeClass("hover");
});
CSS
.hover {
background-color:yellow;
}
答案 4 :(得分:0)
使用像这样:
<div id="mydiv" style="width:200px;background:white" onmouseover="this.style.background='gray';" onmouseout="this.style.background='white';">
Hello World!
</div>
答案 5 :(得分:0)
选择并设置紧跟在元素后面的每个元素:
.first:hover +div{background:red;}
<div class="first">
some
</div>
<div>other</div>
例2
.first:hover div{background:red;}
.first{border:1px solid blue;width:100px;height:100px}
<div class="first">
<div>other</div>
</div>
答案 6 :(得分:-1)
无需制作div 2来实现此目的。
Div1{width:100px; height:100px; background-color:red; }
Div1:hover{width:100px; height:100px; background-color:blue; }
只需将:hover
伪选择器应用于现有的div 1,您就会获得悬停效果。