カーソルが要素のマージンの下部にあるかどうかを確認することは可能ですが、少し注意が必要です。要素の位置、高さ、幅を見つけて、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