1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| onHover:function(drag, drop, pct) {
// on recupere les images dejà presentes :
var images= drop.select( "img" );
if(images.length == 0) {
// facile on insere le tempo div
drop.insert({bottom: tempoDiv});
} else {
// on recupere la position du drag
var posDrag = drag.cumulativeOffset();
// Pour chaque image
for(var i=0;i< images.length; i++) {
// recupere la position de l'image
var imgPos = images[i].cumulativeOffset();
// recupere la dimension de l'image
var imgDim = images[i].getDimensions();
// je ne traite que le cas où tes images vont l'une sous l'autre (elles pourraient aller l'une a coté de l'autre, tu n'auras aucun mal a changer le code...
// si on est au dessus de l'image
if(posDrag.top >= imgPos.top && posDrag.top <= imgPos.top + imgDim.height) {
if(posDrag.top < imgPos.top + (imgDim.height / 2) ) {
// si tu es sur sa moitié sup on insere la div temporaire avant l'image
images[i].insert({before: tempoDiv});
} else {
// si tu es sur sa moitié inf on insere la div temporaire après l'image
images[i].insert({after: tempoDiv});
}
break;
}
}
}
} |
Partager