可以通过以下方法实现:
div {
position: fixed;
}
var divs = document.querySelectorAll('div');
divs.forEach(function(div) {
div.addEventListener('mousemove', function(event) {
var currentDiv = event.target;
var otherDivs = Array.from(divs).filter(function(d) {
return d !== currentDiv;
});
otherDivs.forEach(function(otherDiv) {
var rect1 = currentDiv.getBoundingClientRect();
var rect2 = otherDiv.getBoundingClientRect();
var distance = Math.sqrt(Math.pow(rect1.x - rect2.x, 2) + Math.pow(rect1.y - rect2.y, 2));
if (distance < 100) { // 设置一个距离阈值,当距离小于该值时,阻止div的拖动
event.preventDefault();
}
});
});
});
在上述代码中,我们使用了getBoundingClientRect()方法来获取div的位置信息,然后计算两个div之间的距离,如果距离小于设定的阈值(这里设为100),则阻止div的拖动。
需要注意的是,以上方法只是一种简单的实现方式,具体的实现方式可能会根据具体的需求和场景而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云