 |
<!--This example shows you how to implement several draggable objects with one script. For Internet Explorer and Mozilla compliant browsers--> <html> <head> <title> Draggable Objects </title> <style type="text/css"> /* Class for the draggable objects. Mandatory properties are: position: absolute; z-index: 50 (or higher) The z-index property is defined in the style attribute of the objects, because it is not readable when defined in this class */ .dragger_class { position: absolute; border: solid black 1px; padding: 10px; width: 150px; height: 150px; font-family: Verdana; font-size: 11px } </style> <script language="JavaScript"> // Global variables var obj, offx, offy; // Array with the draggable object's names var draggable = ['dragger1', 'dragger2', 'dragger3']; // Calculates the current offset used in drag() to keep the mouse pointer // at the current position in obj function markOffset (e) { var cX = e ? e.pageX : event.clientX; var cY = e ? e.pageY : event.clientY; if (!obj) return ; offx = cX - obj.offsetLeft; offy = cY - obj.offsetTop; } // Function that puts id's z-index on top of the other draggable objects function setIndex (id) { var this_index, index; index = document.getElementById(id).style.zIndex = parseInt(document.getElementById(id).style.zIndex) + 1; for (i in draggable) { if (draggable[i] != id) { this_index = parseInt(document.getElementById(draggable[i]).style.zIndex) ; while(index <= this_index) { this_index -= 1; } document.getElementById(draggable[i]).style.zIndex = this_index; } } } // Main function function drag (e) { var x, y; if (!obj || obj.style.cursor != 'move') return; x = e ? e.pageX : event.clientX ; y = e ? e.pageY : event.clientY ; obj.style.left = x - offx + 'px'; obj.style.top = y - offy + 'px'; } // Add event listeners if (!document.all && document.getElementById) { document.addEventListener("mousemove", drag, false); document.addEventListener("mousedown", markOffset, false); } else { document.onmousemove = drag; document.onmousedown = markOffset; } </script> </head> <body> <div id="dragger1" style="z-index:50; background-color:red" class="dragger_class" onmouseover="obj=this" onmousedown="this.style.cursor = 'move'; setIndex(this.id)" onmouseup="this.style.cursor = 'default'"> </div> <div id="dragger2" style="z-index:50; background-color:blue" class="dragger_class" onmouseover="obj=this" onmousedown="this.style.cursor = 'move'; setIndex(this.id)" onmouseup="this.style.cursor = 'default'"> </div> <div id="dragger3" style="z-index:50; background-color:white" class="dragger_class" onmouseover="obj=this" onmousedown="this.style.cursor = 'move'; setIndex(this.id)" onmouseup="this.style.cursor = 'default'"> </div> </body> </html>
|
|