可以找到光标是否在元素的边缘底部,但这有点棘手。我们需要找到元素的位置、高度和宽度,并mousemove
在文档上绑定一个事件。
HTML
<div id="margin">Margin</div>
CSS
div {
margin: 50px;
border: 1px solid black;
}
div.active {
background: red;
color: blue;
}
还有神奇的JAVASCRIPT
var x, y,
mar = {};
mar.elm = $('#margin');
mar.width = mar.elm.width();
mar.height = mar.elm.height();
mar.left = mar.elm.offset().left;
mar.top = mar.elm.offset().top;
mar.marginBottom = parseInt(mar.elm.css('margin-bottom'), 10);
$(document).on('mousemove', function(e) {
x = e.offsetX;
y = e.offsetY;
if (x >= mar.left &&
x <= (mar.width + mar.left) &&
y >= (mar.top + mar.height) &&
y <= (mar.top + mar.height + mar.marginBottom))
{
mar.elm.removeClass('active').addClass('active');
} else {
mar.elm.removeClass('active');
}
});
这是一个完整的例子:jsFiddle