»
AnglaisFrançaisVietnamien

Imprimer - Crossbrowser Drag Handler - JavaScriptBank.com

Version complète: jsB@nk » Utilitaire » Crossbrowser Drag Handler
URL: https://www.javascriptbank.com/crossbrowser-drag-handler.html

Crossbrowser Drag Handler © JavaScriptBank.comVous rêvez de faire glisser un élément ou image autour de votre page Web? Il suffit de joindre ce gestionnaire de glisser à un certain nombre d'éléments sur la page et vous serez en mesure de les faire glisser tous. Notez que les éléments doivent être positionnés soit relativement ou absolument.

Version complète: jsB@nk » Utilitaire » Crossbrowser Drag Handler
URL: https://www.javascriptbank.com/crossbrowser-drag-handler.html



JavaScript
<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-->


HTML
<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-->