1.鼠标悬停在a上时打开b
2.鼠标离开a且不在b上时则关闭b
2
这个条件语句该怎么写?就是if()这段,功能代码不需要
$("#tag-btn1").on('mouseover',function(){
$('#second-tag-div1').addClass('second-tag-div-active');
$('.sidebar').addClass('z-index100');
$('#secondary-content1').addClass('display-block');
});
$("#second-tag-div1").on('mouseover',function(){
$('#second-tag-div1').addClass('second-tag-div-active');
$('.sidebar').addClass('z-index100');
$('#secondary-content1').addClass('display-block');
var btn1 = document.getElementById('tag-btn1');
var btn1 = document.getElementById('tag-btn1'):before;
btn1.style.backgroundColor = "#00c680";
btn1.style.color = "#FFF";
});
$("#tag-btn1").on('mouseout',function(){
$('#second-tag-div1').removeClass('second-tag-div-active');
$('.sidebar').removeClass('z-index100');
$('#secondary-content1').removeClass('display-block');
});
$("#second-tag-div1").on('mouseout',function(){
$('#second-tag-div1').removeClass('second-tag-div-active');
$('.sidebar').removeClass('z-index100');
$('#secondary-content1').removeClass('display-block');
});
如果我没理解错的话,其实就是判断当响应onmouseout事件时,判断鼠标在哪个元素范围内(比如某个的div)?
这个可以判断鼠标的坐标(clientX和clientY)是否在div元素的范围内,也就是div元素的坐标(offsetTop和offsetLeft)加上它的范围(offsetWidth和offsetHeight)
比如判断当前鼠标离开了这个div,x方向的条件应该是
clientX < offsetLeft || clientX > offsetLeft+offsetWidth
y的同理。
这是判断一个div的,如果判断复杂的,比如两个div,得到你要判断的相对范围就可以了吧。
拙见,大神轻喷。
纯css都可以吧
<div id="a">
divA
<div id="b">
divB
</div>
</div>
#b {
display: none;
}
#a:hover #b {
display: block;
}
如果不是父子元素的话
$('#a').hover(function() {
$('#b').addClass('aHover');
}, function() {
$('#b').removeClass('aHover');
});
#b {
display: none;
}
#b.aHover,
#b:hover {
display: block;
}