oa1.onmousemove = function (ev) {
var oEvnt = ev || event;
var x = oEvnt.clientX - oa1.offsetLeft;
var y = oEvnt.clientY - oa1.offsetTop;
console.log(x, y);
oa2.style.left = -(x * 2 - 100) + 'px';//问题用clientWidth为什么是NAN
oa2.style.top = -(y * 2 - 100) + 'px';
if (x >= oa1.clientWidth - (op.clientWidth / 2)) {
op.style.top = oa1.clientHeight - op.clientHeight + "px";
} else {
op.style.top = y - 50 + "px";
}
if (oEvnt.clientY - oa1.offsetTop >= oa1.clientHeight - op.clientHeight / 2) {
op.style.left = oa1.clientWidth - op.clientWidth + "px"
} else {
op.style.left = x - 50 + "px";
}
};
在上面的if条件我想的是当鼠标划到离a标签边距只有50px就让p的top值固定为一个值。

上面只是部分代码。也许我用判断语句不是很合适,请教这位大神如何解决?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果想判断范围,比如说,小矩形(inRect)必须在大矩形内部(outRect) 定位的情况,可以这样处理