Basé sur http://jqueryui.com/demos/sortable/#placeholder i Je travaille sur une interface de glisser-déposer permettant à l'utilisateur de réorganiser les listes imbriquées. Comme vous pouvez le voir de Le lien Cela fonctionne bien sur des listes simples. P>
Cependant, lorsque je l'essaie de listes imbriquées, je suis assez mauvais scintillant. Essayez-le pour vous-même à: p>
http://jsfiddle.net/unklefolk/g5xpe/ p>
Après avoir déplacé des objets intérieurs sur la liste extérieure et visa-versa, vous verrez qu'il existe un peu de problème de scintillement / de cyclisme, en particulier autour du point où une liste extérieure se réunit et une liste intérieure. P>
4 Réponses :
J'ai eu un problème similaire une fois auparavant, je n'ai pas le temps de l'adapter mais voici ma solution.
Utilisez un raccord JS: P>
$(document).ready(function() { var s = $("#sortable"); s.sortable({ tolerance: 'pointer', stop: function(event, ui) { var ranks = ['gold','silver','bronze']; $("li",s).each(function (idx) { for(var i = 0; i < ranks.length; ++i) $(this).removeClass(ranks[i]); $(this).addClass(ranks[idx]); }); } }); });
Merci pour la pointe, Kyle. Malheureusement, j'ai pris votre violon, je l'ai étendu à des listes imbriquées et j'ai toujours le scintillement pendant que je me déplace entre les niveaux. jsfiddle.net/unklefolk/uuefc Je ne sais pas si je manque quelque chose?
Le violon que vous avez fourni n'a pas une liste imbriquée :)
Excuses. Essayez ceci: Jsfiddle.net/unklefolk/uuefc/3 J'ai bien peur que j'ai Perdu les belles barres de chocolat, mais je pense que c'est en substance la même chose.
Jetez un coup d'oeil à ce plugin triés imbriqué. Il s'agit d'un élément de liste piloté, mais il peut s'agir de la réponse à votre problème. P>
Grand lien Brian. Ce plugin semble beaucoup plus que ce dont j'ai besoin. J'aimerais avoir trouvé cela il y a plusieurs mois. Je ne pourrais peut-être pas utiliser cette solution car je suis assez loin dans la route et le temps de JQuery Ui est limité, mais je vais attribuer cette réponse à la Bounty comme il semble que la meilleure solution pour les autres utilisateurs qui rencontrent ce problème.
Habituellement, j'utilise Helper: "Clone ' Code> Quel est un impact sur ce problème (jamais compris pourquoi). Je ne sais pas si cela fonctionne, sur mon firefox 8 semble mieux
$(function() {
$( ".sortable" ).sortable({
placeholder: "ui-state-highlight",
connectWith: ".sortable",
helper: 'clone'
});
$( ".sortable" ).disableSelection();
});
Merci pour la réponse, Nicola. Je n'ai pas semblé avoir beaucoup d'effet sur ma mise en œuvre, mais j'espère que cela aidera quelqu'un d'autre.
op ici. Je voulais juste publier ce que j'ai enfin fait pour résoudre ce problème. Basé sur http://bugs.jquyui.com/ticket/4741?cversion=0&cnum_hist = 8 i décompressé forte> la ligne suivante dans jquery-ui-1.8.6.js: I Utilisez toujours le Je peux maintenant faire glisser et déposer entre les niveaux de la hiérarchie sans scintillement. J'espère que cela aide d'autres utilisateurs. P> p> Connectwith Code> Attribut. P>
Et si nous utilisons JQuery UI 1.12.1? @Marque