Phiên bản đầy đủ: jsB@nk » Ứng dụng » Quản lí kéo thả các đối tượng
URL: https://www.javascriptbank.com/crossbrowser-drag-handler.html
Bạn muốn tạo hiệu ứng kéo thả các đối tượng trên trang web của mình? Hãy sử dụng đoạn mã JavaScript này và quản lí việc kéo thả tất cả các đối tượng mà bạn muốn.
Phiên bản đầy đủ: jsB@nk » Ứng dụng » Quản lí kéo thả các đối tượng
URL: https://www.javascriptbank.com/crossbrowser-drag-handler.html
<script type="text/javascript">// Created by: Justas | http://www.webtoolkit.info/var DragHandler = {// private property._oElem : null,// public method. Attach drag handler to an element.attach : function(oElem) {oElem.onmousedown = DragHandler._dragBegin;// callbacksoElem.dragBegin = new Function();oElem.drag = new Function();oElem.dragEnd = new Function();return oElem;},// private method. Begin drag process._dragBegin : function(e) {var oElem = DragHandler._oElem = this;if (isNaN(parseInt(oElem.style.left))) { oElem.style.left = '0px'; }if (isNaN(parseInt(oElem.style.top))) { oElem.style.top = '0px'; }var x = parseInt(oElem.style.left);var y = parseInt(oElem.style.top);e = e ? e : window.event;oElem.mouseX = e.clientX;oElem.mouseY = e.clientY;oElem.dragBegin(oElem, x, y);document.onmousemove = DragHandler._drag;document.onmouseup = DragHandler._dragEnd;return false;},// private method. Drag (move) element._drag : function(e) {var oElem = DragHandler._oElem;var x = parseInt(oElem.style.left);var y = parseInt(oElem.style.top);e = e ? e : window.event;oElem.style.left = x + (e.clientX - oElem.mouseX) + 'px';oElem.style.top = y + (e.clientY - oElem.mouseY) + 'px';oElem.mouseX = e.clientX;oElem.mouseY = e.clientY;oElem.drag(oElem, x, y);return false;},// private method. Stop drag process._dragEnd : function() {var oElem = DragHandler._oElem;var x = parseInt(oElem.style.left);var y = parseInt(oElem.style.top);oElem.dragEnd(oElem, x, y);document.onmousemove = null;document.onmouseup = null;DragHandler._oElem = null;}};// =============function beginScript() { function begin (element, x, y) { var s = '#' + element.id + ' (begin drag)' + ' x:' + x + ', y:' + y; updateInfo(s); } function drag (element, x, y) { var s = '#' + element.id + ' (dragging)' + ' x:' + x + ', y:' + y; updateInfo(s); } function end (element, x, y) { var s = '#' + element.id + ' (end drag)' + ' x:' + x + ', y:' + y; updateInfo(s); } function updateInfo(s) { // Comment out the line below to stop displaying the location document.getElementById('info').innerHTML = s; } var dragable1 = DragHandler.attach(document.getElementById('dragable1')); var dragable2 = DragHandler.attach(document.getElementById('dragable2')); var dragable3 = DragHandler.attach(document.getElementById('dragable3')); dragable1.dragBegin = begin; dragable1.drag = drag; dragable1.dragEnd = end; dragable2.dragBegin = begin; dragable2.drag = drag; dragable2.dragEnd = end; dragable3.dragBegin = begin; dragable3.drag = drag; dragable3.dragEnd = end;}// =============// Multiple onload function created by: Simon Willison// http://simon.incutio.com/archive/2004/05/26/addLoadEventfunction addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } }}addLoadEvent(function() { beginScript();});</script><!-- This script downloaded from www.JavaScriptBank.com Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->
<div id="info">Start drag process...</div><div id="dragable1" style="position: relative; width: 50px; height: 50px; background: silver; border: 1px dashed red; font-size: 11px; padding: 5px; text-align: center;"><br>Drag me!</div><div id="dragable2" style="position: relative; width: 90px; height: 40px; background: silver; border: 1px dashed red; font-size: 11px; padding: 5px; text-align: center;"><br>Drag me too!</div><div id="dragable3" style="position: relative; width: 126px; height: 64px;"><img src="../image/logojsb.gif"></div><!-- This script downloaded from www.JavaScriptBank.com Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->