J'utilise jQuery 1.4.2 et jQuery UI 1.8.5 pour créer des éléments déplaçables qui retournent à leur position d'origine. Il y a un problème cependant; Lorsque vous avez fait défiler la fenêtre du navigateur, la position de départ sera modifiée pour commencer quelque part plus haut. On dirait qu'une position absolue est utilisée mais le montant qui a été défilé n'est pas pris en compte, mais je ne peux pas en être sûr. J'ai fait tout mon développement et mes tests dans FireFox.Éléments d'interface utilisateur jQuery déplaçables utilisant une position de départ incorrecte lors du défilement du navigateur?
Voici une courte vidéo que j'ai enregistré sur ce .. http://www.youtube.com/watch?v=KPW4ljpjuF8
Le code d'initialisation JavaScript ressemble à ceci ..
$('.frameworkNavigationItem').draggable({
appendTo : 'body',
revert : 'invalid',
containment : 'body',
zIndex : 999
});
Le code HTML d'un des éléments ressemble à ceci ..
<div class="frameworkNavigationItem frameworkNavigationItemColor">
<div class="frameworkNavigationItemName">Home</div>
<div class="frameworkNavigationItemDisplay">
<input type="checkbox" checked="true" name="2_1">
<input type="checkbox" checked="true" name="2_2">
<input type="checkbox" checked="true" name="2_4">
</div>
<div class="frameworkNavigationItemController">
<input type="text" maxlength="255" value="mainNews" name="2_co">
</div>
<div class="frameworkNavigationItemChild">
<select name="2_ch">
<option value="0">-</option>
</select>
</div>
<div style="clear: both;"></div>
</div>
Et c'est le CSS qui va avec.
.frameworkNavigationItem
{
background-color : #CACACA;
height : 20px;
line-height : 20px;
margin : 2px 0;
vertical-align : middle;
}
.frameworkNavigationItem:hover
{
background-color : #BABABA;
}
.frameworkNavigationItem:hover input, .frameworkNavigationItem:hover select
{
background-color : #BABABA;
}
.frameworkNavigationItem input, .frameworkNavigationItem select
{
background-color : #CACACA;
border : 0;
font-size : 10px;
}
.frameworkNavigationItemColor
{
background-color : #DADADA;
}
.frameworkNavigationItemColor input, .frameworkNavigationItemColor select
{
background-color : #DADADA;
}
.frameworkNavigationItemName
{
float : left;
height : 15px;
padding-left : 5px;
}
.frameworkNavigationItemDisplay
{
float : right;
text-align : right;
width : 48px;
}
.frameworkNavigationItemController
{
float : right;
width : 160px;
}
.frameworkNavigationItemController input
{
width : 150px;
}
.frameworkNavigationItemChild
{
float : right;
width : 160px;
}
.frameworkNavigationItemChild select
{
width : 150px;
}
Aidez-moi à sortir! Je ne sais pas pourquoi cela arrive.
Cela résout pour moi aussi, merci. Bien sûr, je ne veux pas de débordement automatique sur l'élément parent ul, donc il faudra expérimenter - des malédictions! –
Comme l'utilisation de débordement a eu d'autres conséquences indésirables dans mon cas et j'utilise triable et ont fini par aller avec un assistant sur cette page fournie dans une réponse par @ mordy. Le délai d'attente de modification des commentaires a été déclenché juste une seconde avant que j'appuie sur Enregistrer. :/ –
Cela contient le draggable pour le conteneur (avec barres de défilement) pour moi. J'ai utilisé helper: "clone", cela a fonctionné –