jquery实现拖拽调整Div大小

前端之家收集整理的这篇文章主要介绍了jquery实现拖拽调整Div大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天写了一天这个jquery插件

可以实现对div进行拖拽来调整大小的功能

代码如下:
SEOver mousemove",overHandler); } function outHandler() { for (var i = 0; i < _this.length; i++) { target.style.outline = "none"; } document.body.style.cursor = "default"; } function overHandler(event) { target = event.target || event.srcElement; var startX = event.clientX + scroll.x; var startY = event.clientY + scroll.y; var w = $(target).width(); var h = $(target).height(); _startX = parseInt(startX); _startY = parseInt(startY); if ((0 < target.offsetLeft + w - _startX && target.offsetLeft + w - _startX < size) || (0 < target.offsetTop + h - _startY && target.offsetTop + h - _startY < size)) { target.style.outline = "2px dashed #333"; if ((0 > target.offsetLeft + w - _startX || target.offsetLeft + w - _startX > size) && 0 < target.offsetTop + h - _startY && target.offsetTop + h - _startY < size) { resizeW = false; resizeH = true; document.body.style.cursor = "s-resize"; } if (0 < target.offsetLeft + w - _startX && target.offsetLeft + w - _startX < size && (0 > target.offsetTop + h - _startY || target.offsetTop + h - _startY > size)) { resizeW = true; resizeH = false; document.body.style.cursor = "w-resize"; } if (0 < target.offsetLeft + w - _startX && target.offsetLeft + w - _startX < size && 0 < target.offsetTop + h - _startY && target.offsetTop + h - _startY < size) { resizeW = true; resizeH = true; document.body.style.cursor = "se-resize"; } $(target).on('mousedown',downHandler); } else { resizeW = false; resizeH = false; $(target).off('mousedown',downHandler); } } function downHandler(event) { target = event.target || event.srcElement; var startX = event.clientX + scroll.x; var startY = event.clientY + scroll.y; _startX = parseInt(startX); _startY = parseInt(startY); if (document.addEventListener) { document.addEventListener("mousemove",moveHandler,true); document.addEventListener("mouseup",upHandler,true); } else if (document.attachEvent) { target.setCapture(); target.attachEvent("onlosecapeture",upHandler); target.attachEvent("onmouseup",upHandler); target.attachEvent("onmousemove",moveHandler); } if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } } function moveHandler(e) { if (!e) e = window.event; var w,h; var startX = parseInt(e.clientX + scroll.x); var startY = parseInt(e.clientY + scroll.y); target = target || e.target || e.srcElement; if (target == document.body) { return; } if (resizeW) { deltaX = startX - _startX; w = $(target).width() + deltaX < minSize ? minSize : $(target).width() + deltaX; target.style.width = w + "px"; _startX = startX; } if (resizeH) { deltaY = startY - _startY; h = $(target).height() + deltaY < minSize ? minSize : $(target).height() + deltaY; target.style.height = h + "px"; _startY = startY; } if (e.stopPropagation) { e.stopPropagation(); } else { e.cancelBubble = true; } } function upHandler(e) { if (!e) { e = window.event; } resizeW = false; resizeH = false; target = e.target || e.srcElement; $(target).on("mouSEOut",outHandler); if (document.removeEventListener) { document.removeEventListener("mousemove",true); document.removeEventListener("mouseup",true); } else if (document.detachEvent) { target.detachEvent("onlosecapeture",upHandler); target.detachEvent("onmouseup",upHandler); target.detachEvent("onmousemove",moveHandler); target.releaseCapture(); } if (e.stopPropagation) { e.stopPropagation(); } else { e.cancelBubble = true; } } function getScrollOffsets(w) { w = w || window; if (w.pageXOffset != null) { return { x: w.pageXOffset,y: w.pageYOffset }; } var d = w.document; if (document.compatMode == "CSS1Compat") { return { x: d.documentElement.scrollLeft,y: d.documentElement.scrollTop }; } return { x: d.body.scrollLeft,y: d.body.scrollTop }; } } }(jQuery)); jQuery("div").dragDivResize();

记录一下今天的劳动成果,可能会有很多不成熟的地方,欢迎大家来指正,谢谢!

以上就是本文的全部内容了,希望大家能够喜欢。

原文链接:https://www.f2er.com/jquery/56008.html

猜你在找的jQuery相关文章