Ver Mensaje Individual
  #9 (permalink)  
Antiguo 03/02/2011, 08:35
ira
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: problema con [object HTMLDivElement]

Si, se pueden ordenar en el destino.
El script lo he sacado de aqui: http://soletme.free.fr/dragdrop/index.html
Pero he tenido que modificarlo para corregir un par de bugs que tenia y hacer lo que yo quiera, he tenido que añadir que una vez hayas insertado en la columna de destino una foto no se pueda volver a utilizar... y luego le he añadido un par de lineas para que me muestre tras el evento el ID de la foto y como va quedando la secuencia... mi intencion es luego pasar esa secuencia dentro de un input hidden, he intentado hacerlo, pero no consigo que modifique el value del hidden...
Tambien de alguna forma tengo que añadir un contador para que solo admita 10 fotos...
Estoy en un punto que veo que igual seria mejor no dar la opcion a ordenar la seleccion y hacer 10 destinos diferentes, uno por foto...

Necesitas qeu ponga tambien el html??

<script>
window.addEvent('domready',function(){
var sort = new Sortables($('gridroom2'),{
opacity:0.7
});


$$('.fotobox').addEvent('mousedown',function(event ){
var driver = this;
var clone = driver.clone();
var origin = driver.getPosition();
clone.setStyles({
opacity:0.7,
position:'absolute',
left:origin.x,top:origin.y}).inject(document.body)

var drag = new Drag.Move(clone, {

droppables:[$('gridroom2')],

onEnter:function(dragging, drop){
var sortClone = clone.clone();
sortClone.setStyles({
opacity:1,
position:'static'})
.removeClass('item')
.inject($('gridroom2'));
sort.addItems(sortClone);
clone.store('clone',sortClone);
sort.start(event,sortClone);

},
onLeave:function(dragging, drop){
var sortClone = clone.retrieve('clone');
sort.end();
sort.removeItems(sortClone);
clone.setStyle('display','');
sortClone.destroy();

},
onDrop:function(dragging,drop){
if(drop){
clone.destroy();
var contar = $('elemento');
var orden = document.getElementById('elemento2');
var fotoId = clone.get('name');
var sort_order = ''; // contar.get + driverId + '|';
driver.removeEvents();
driver.setStyles({opacity: 0.7,});
contar.set('html',driverId);
orden.set('html',orden.get('html') + '|' + driverId);

}else{
dragging.get('morph').start({
opacity:0,
left:origin.x,
top:origin.y
}).chain(dragging.destroy.bind(dragging));
}
},
onCancel: function(dragging,drop){
dragging.destroy();
}
}).start(event);

});
});

</script>

Última edición por ira; 03/02/2011 a las 09:12