Проблема сортировки пользовательского интерфейса Jquery: изображение невидимо после перетаскивания на динамически созданную сортируемую (оба uls имеют один и тот же родительский div)

У меня есть следующая проблема:

У меня есть один сортируемый ul с одним изображением (зеленое поле). Я хочу иметь возможность перетаскивать это изображение куда угодно и создавать на этом месте новый сортируемый ul (серый прямоугольник).

Эта часть работает идеально.

Теперь я также хочу иметь возможность перетаскивать изображение из серого поля в зеленое. Он также работает нормально, за исключением одной части: во время перетаскивания изображение невидимо. Как я могу сделать изображение видимым во время перетаскивания?

Я проверил: кажется, что оба uls имеют одного и того же родителя, я предупреждаю parentIds обоих uls, и это одно и то же. В обоих случаях #images

Как я могу решить эту проблему?

Я создал для него jsfiddle: ссылка

$(document).ready (function() {   

                                  $( "ul" ).sortable({opacity:0.4, connectWith: 'ul', dropOnfull: true, stop: function (event,ui){
                                       var positionLeft=ui.position.left;
                                       var positionTop=ui.position.top;

                                       var x=$ ("<ul id='sortable10' class='drop'></ul>");
                                       $(x).css('position','absolute');
                                       $(x).css('left',positionLeft);
                                       $(x).css('top',positionTop); 
                                       $(x).css('height','70px');


                                       ui.item.appendTo(x);

                                       $(x).sortable({connectWith: 'ul'});
                                       $('#images').append(x);


                                       $( "ul" ).sortable({ connectWith: 'ul'});
                                         alert("ParentId of the gray box is "+$('ul#sortable10 ').parent().attr('id'));
                                         alert("ParentId of the green box is "+$('ul#sortable1 ').parent().attr('id'));
                                       } // stop-function
                                   });//sortable-options

                              })//main-function

person user2514539    schedule 13.07.2013    source источник


Ответы (1)


Я предполагаю, что ul «скрывает» элемент.. когда вы перетаскиваете его, вы все равно можете видеть изображение до границы ul..

Я думаю, вам нужно использовать div или span и использовать перетаскивание пользовательского интерфейса jQuery.

person Mark Rijsmus    schedule 13.07.2013
comment
Я попробовал это прямо сейчас. Работало еще хуже. Обычно проблема в том, что родители uls разные, поэтому я дополнительно проверил это. Может ли быть проблема с z-индексом? Поскольку изображение, по-видимому, может покинуть серый ящик, а также правильно прикреплено к зеленому, оно невидимо только в пути. - person user2514539; 14.07.2013
comment
Хорошо, хорошо! Я попробовал z-index, но это не проблема. Хорошо, что ты решил это сам! Извините, что направил вас в неправильном направлении. - person Mark Rijsmus; 14.07.2013
comment
Я благодарен, что вы, по крайней мере, пытались мне помочь :) Может быть, вы могли бы помочь мне с этим, это моя последняя проблема: stackoverflow.com/questions/17638975/ - person user2514539; 14.07.2013
comment
И ваша подсказка была правильной в конце. Это дало мне другую точку зрения, с которой я начал поиски, и в конце концов я нашел ответ. - person user2514539; 14.07.2013
comment
ха-ха, я рад, что смог хоть немного помочь ;).. Я посмотрю, что я могу сделать для тебя там! - person Mark Rijsmus; 14.07.2013