我只是在 jsfiddle 中乱搞,试图根据鼠标位置调整框的大小。当鼠标移开时使框变大很简单,只需获取距离即可。但是,我想做相反的事情;我希望框随着鼠标靠近而增大,随着鼠标移开而减小。我一直无法为此想出任何公式。我觉得我可能缺少一些非常简单的东西。
<div id="box"></div>
#box {
height: 100px;
width: 100px;
background: black;
}
var box = document.getElementById('box');
// center point of the box
var boxX = 50;
var boxY = 50;
document.addEventListener('mousemove', function(e) {
var x = e.pageX,
y = e.pageY;
var dx = x - boxX,
dy = y - boxY;
var distance = Math.sqrt(dx *dx + dy * dy);
box.style.width = box.style.height = distance + 'px';
}, false);
这是小提琴的链接:http: //jsfiddle.net/gSDPq/
任何帮助表示赞赏,谢谢