为什么 if (//change b position) part write after (//show a list) part 不能工作,有一些错误?
我怎样才能使它在 (.a-1).hover, (.b) 不移动并且在上次更改后仍然在同一个地方?+0 不能用?
jQuery
//change b position
$(".a").hover(function(){
var newleft = $(".b").position().left + 200;
$(".b").css('left', newleft + 'px');
},function(){
var newleft = $(".b").position().left - 200;
$(".b").css('left', newleft + 'px');
});
$(".a-1").hover(function(){
var newleft = $(".b").position().left + 0;
$(".b").css('left', newleft + 'px');
},function(){
var newleft = $(".b").position().left + 0;
$(".b").css('left', newleft + 'px');
});
//show a list
$(".a").hover(function(){
$(".a-1, .a-2").show();
},function(){
$(".a-1, .a-2").hide();
});
$(".a-1").hover(function(){
$(".a-1, .a-2").show();
},function(){
$(".a-1, .a-2").hide();
});
$(".a-2").hover(function(){
$(".a-1, .a-2").show();
},function(){
$(".a-1, .a-2").hide();
});
html,css
<div class="a">a</div>
<div class="a-1">a-1</div>
<div class="a-2">a-2</div>
<div class="b">b</div>
.a{
position: absolute;
left: 100px;
top: 150px;
width: 105px;
background: red;
}
.a-1{
position: absolute;
left: 200px;
top: 150px;
width: 100px;
background: maroon;
display: none;
}
.a-2{
position: absolute;
left: 300px;
top: 150px;
width: 100px;
background: olive;
display: none;
}
.b{
position: absolute;
left: 200px;
top: 150px;
width: 100px;
background: blue;
}