/* 可拖拽 */
var dragBox = function (drag, wrap) {
function getCss(ele, prop) {
return parseInt(window.getComputedStyle(ele)[prop]);
}
var initX,
initY,
dragable = false,
wrapLeft = getCss(wrap, "left"),
wrapRight = getCss(wrap, "top");
drag.addEventListener("mousedown", function (e) {
// console.log(e)
dragable = true;
initX = e.clientX;
initY = e.clientY;
}, false);
document.addEventListener("mousemove", function (e) {
if (dragable === true ) {
var nowX = e.clientX,
nowY = e.clientY,
disX = nowX - initX,
disY = nowY - initY;
wrap.style.left = wrapLeft + disX + "px";
wrap.style.top = wrapRight + disY + "px";
}
});
drag.addEventListener("mouseup", function (e) {
dragable = false;
wrapLeft = getCss(wrap, "left");
wrapRight = getCss(wrap, "top");
}, false);
};
drag:可拖拽区域对象
wrap:整个 DIV 对象
本文介绍了一种使用JavaScript实现元素拖拽功能的方法。通过监听mousedown、mousemove和mouseup事件,可以轻松地使页面上的任意元素变得可拖动,适用于创建自定义布局或交互式UI组件。
647

被折叠的 条评论
为什么被折叠?



