viernes, 7 de mayo de 2010

Mootools Drag and Drop | Birijan Maharjan

Mootools Drag and Drop | Birijan Maharjan: "Mootools Drag and Drop"

Este es un codigo de ejemplo para crear el efecto de drag & drop con mootols

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mootools Drag and Drop</title>
<script type="text/javascript" src="../examples/2/mootools.js"></script>
<style>
body {
font-family:Arial, Helvetica, sans-serif;
font-size:11px;
}
#log-write {
color:red;
font-weight:bold;
}
div.draggable {
width: auto;
height: auto;
padding: 5px;
border: solid 1px green;
cursor: move;
background-color: #EEE;
position:relative;
float:left;
font-size:8px;
}
div.dropzone {
width: 169px; /* 80 + 5*2 + 1*2 */
/* height: 65px; */ /* 53 + 5*2 + 1*2 */
height: 100px; /* 53 + 5*2 + 1*2 */
margin: 20px;
border:1px solid #CCC;
position:relative;
}
div.dragenter {
background-color: #00FF00;
*z-index: -1;
}
</style>
</head>
<body>
<table width="400" align="center">
<tr>
<td colspan="2" align="center"><div id="log-write"></div></td>
</tr>
<tr>
<td align="center"><strong>Box 1</strong></td>
<td align="center"><strong>Box 2</strong></td>
</tr>
<tr>
<td ><div id="Box1" class="dropzone">
<div id="1" class="draggable">Draggable 1</div>
<div id="2" class="draggable">Draggable 2</div>
<div id="3" class="draggable">Draggable 3</div>
<div id="3" class="draggable">Draggable 3</div>
</div></td>
<td ><div id="Box2" class="dropzone">
<div id="10" class="draggable">Draggable 10</div>
<div id="11" class="draggable">Draggable 11</div>
<div id="12" class="draggable">Draggable 12</div>
</div></td>
</tr>
<tr>
<td align="center"><strong>Box 3</strong></td>
<td align="center"><strong>Box 4</strong></td>
</tr>
<tr>
<td><div id="Box3" class="dropzone">
<div id="4" class="draggable">Draggable 4</div>
<div id="5" class="draggable">Draggable 5</div>
<div id="6" class="draggable">Draggable 6</div>
</div></td>
<td><div id="Box4" class="dropzone">
<div id="7" class="draggable">Draggable 7</div>
<div id="8" class="draggable">Draggable 8</div>
<div id="9" class="draggable">Draggable 9</div>
</div></td>
</tr>
</table>
<script>
var posfix = function(draggable) {
draggable.setStyles({ left:0+"px", top:0+"px" });
}
var optDropzone = {
over: function() {
this.addClass("dragenter");
},
leave: function() {
this.removeClass("dragenter");
},
drop: function(draggable) {
this.removeClass("dragenter");
draggable.injectInside(this);
posfix(draggable);
var dragId = draggable.id;
var droppedIn = draggable.getParent().id;
$('log-write').setText('Draggable '+dragId+' dropped in '+droppedIn);
//alert('Draggable '+dragId +' dropped in '+droppedIn);
}
}
var optDraggable = {
onStart: function(draggable) {
draggable.setOpacity(0.5).setStyle("z-index", 1);
},
onComplete: function(draggable) {
draggable.setOpacity(1.0).setStyle("z-index", 0);
posfix(draggable);
}
}
window.onload = function() {
optDraggable.droppables = $$(".dropzone").addEvents(optDropzone);
$$(".draggable").makeDraggable(optDraggable);
$$(".draggable").each(function(elm){ posfix(elm) });
}
</script>
</body>
</html>

No hay comentarios:

Publicar un comentario

escribe tu opinion: