gpt4 book ai didi

javascript - 可在特定的 div 内拖动

转载 作者:数据小太阳 更新时间:2023-10-29 06:11:46 27 4
gpt4 key购买 nike

我正在从事一个使用了可拖动事件的元素。现在的问题是 draggable() 事件对我来说效果很好......但是因为我想存储我的位置,所以我使用了以下 javascript。这个也很好用......但问题是它适用于整个屏幕。我只是希望它仅通过使用此代码在特定的 parent div 上运行。那有可能吗?

function $(el){
return document.getElementById(el);
}
var tzdragg = function(){
return {
move : function(divid,xpos,ypos){
var a = $(divid);
$(divid).style.left = xpos + 'px';
$(divid).style.top = ypos + 'px';
},
startMoving : function(evt){
evt = evt || window.event;
var posX = evt.clientX,
posY = evt.clientY,
a = $('elem'),
divTop = a.style.top,
divLeft = a.style.left;
divTop = divTop.replace('px','');
divLeft = divLeft.replace('px','');
var diffX = posX - divLeft,
diffY = posY - divTop;
document.onmousemove = function(evt){
evt = evt || window.event;
var posX = evt.clientX,
posY = evt.clientY,
aX = posX - diffX,
aY = posY - diffY;
tzdragg.move('elem',aX,aY);
}
},
stopMoving : function(){
var a = document.createElement('script');
document.onmousemove = function(){}
},
}
}();

如果可能,请帮我解决这个问题......

我也做了 jsfiddle....

Fiddle

最佳答案

检查可拖动元素的父div边界值,如果满足条件,允许移动元素。

试试这段代码:

DEMO

 var boun=document.getElementById("parent").offsetWidth-document.getElementById("elem").offsetWidth;

if((aX>0)&&(aX<boun)&&(aY>0)&&(aY<boun))
tzdragg.move('elem',aX,aY);

关于javascript - 可在特定的 div 内拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21569293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com