Създавам система за плъзгане и пускане с клас drag.move на mootools, но имам нужда от всички елементи с възможност за плъзгане и пускане, за да има някои допълнителни променливи и може би да добавя функция или две. Проучих как да направя това с помощта на .implement, но нямам представа как да вместя това в моя код:
window.addEvent('domready', function(){
$$('#draggables DIV').makeDraggable({
droppables: $$('#droppables DIV'),
onEnter: function(draggable, droppable){
droppable.setStyle('background', 'orange');
droppable.setStyle('opacity', '0.4');
snap_left = droppable.getStyle('left');
snap_top = droppable.getStyle('top');
document.getElementById("slot").innerHTML=droppable.id;
},
onLeave: function(draggable, droppable){
droppable.setStyle('background', null);
},
onDrop: function(draggable, droppable){
if (droppable){
droppable.setStyle('background', '');
draggable.setStyle('left', snap_left );
draggable.setStyle('top', snap_top );
} else {
draggable.setStyle('left', snap_left );
draggable.setStyle('top', snap_top );
}
}
});
});
Възможно ли е това, което искам, с помощта на .implement?
Мога ли да добавя тези неща към всички елементи с възможност за плъзгане и пускане?
предварително!
- Тайскорпион
редактиране:
Опитах да добавя опции директно към главния клас в библиотеката на mootools и се опитах да получа достъп до тях от събитието onEnter по този начин:
onEnter: function(draggable, droppable){
if (droppable.occupied){ //here is where im tryin to acces it, the default option is set to occupied: true
droppable.setStyle('background', 'red');
droppable.setStyle('opacity', '0.4');
document.getElementById("slot").innerHTML=droppable.id;
} else {
droppable.setStyle('background', 'orange');
droppable.setStyle('opacity', '0.4');
snap_left = droppable.getStyle('left');
snap_top = droppable.getStyle('top');
document.getElementById("slot").innerHTML=droppable.id;
}
},
but not getting anything to work.