Sto usando l'interfaccia utente di jQuery per creare un draggable <div>
. Il <div>
è posizionato in modo assoluto al basso a destra o in alto a sinistra usando i CSS:jQuery UI trascinabile con posizione assoluta e proprietà inferiore
.dragbox {
position: absolute;
width: 140px;
min-height: 140px; /* I need to use min-height */
border: 3px solid black;
padding: 10px;
}
.bottom {
bottom: 5px; /* causes box to resize when dragged */
right: 5px;
}
.top {
top: 5px; /* does not cause box to resize */
left: 5px;
}
Il codice HTML simile al seguente:
<div class="dragbox bottom">
Bottom Box :(
</div>
<div class="dragbox top">
Top Box :)
</div>
Il JavaScript è $('.dragbox').draggable();
di rendere i <div>
elementi trascinabili. Lo in alto a sinistra funziona come previsto, ma il ridimensionamento in basso a destra viene ridimensionato durante il trascinamento. Se cambio la proprietà .dragbox
a height
a height
vedo il comportamento previsto, ma devo usare min-height
per questo perché non conosco la lunghezza del contenuto interno.
Come posizionare <div>
in basso a destra e abilitare il trascinamento senza dover ridimensionare durante il trascinamento? Gli elementi in alto a sinistra e in basso a destra dovrebbero comportarsi nello stesso modo.
DEMO (io uso Chrome 27 e Safari 6) opere trascinabili
Usando questa idea sono stato in grado di risolvere il mio caso in cui oltre la scatola ha un'altezza dinamica (e dovrebbe crescere verso l'alto), ma fortunatamente non sta cambiando durante una resistenza. Faccio lo stesso, ma usando le opzioni 'start' e 'stop' in modo che imposti l'attributo top come anchor (autoiniezione in basso) all'avvio del trascinamento e lo scambia quando finisce. – DonSteep