![]() |
![]() ![]() v.5.2011.12.30 |
Хитрый стрелок экранов, Добавить функцию? Без проблем! ;-) |
|
JavaScript - ИнтерфейсВсе примеры / ИнтерфейсПеретаскивание (Drag'n'Drop) html-элементов
Автор: WebToolkit | добавлено: 16.04.2011, 15:47 | просмотров: 4278 (2+) | комментариев: 0 | рейтинг:
Пример перетаскивания (Drag'n'Drop) html-элементов при помощи JavaScript.
![]() ИнструкцииПример использования:<div id="container"> <div id="dragable1" style="position: relative; width: 50px; height: 50px; background: silver; border: 1px dashed red;"></div> <div id="dragable2" style="position: relative; width: 60px; height: 60px; background: silver; border: 1px dashed red;"></div> <div id="dragable3" style="position: relative; width: 70px; height: 70px; background: silver; border: 1px dashed red;"></div> </div> <script> var dragable1 = DragHandler.attach(document.ge tElementById('dragable1')); var dragable2 = DragHandler.attach(document.ge tElementById('dragable2')); var dragable3 = DragHandler.attach(document.ge tElementById('dragable3')); </script> Кодvar DragHandler = { // private property. _oElem : null, // public method. Attach drag handler to an element. attach : function(oElem) { oElem.onmousedown = DragHandler._dragBegin; // callbacks oElem.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; } }
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Все похожие примеры (всего: 13)
Добавлять комментарии могут только зарегистрированные пользователи сайта. Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации ![]() Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь. Нет комментариев... |
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
|
|