jqueryUI сортируемый / перетаскиваемый и переполнение (или z-index?) - противоречивое поведение - PullRequest
0 голосов
/ 14 марта 2012

У меня проблема с сортировкой jqueryUI и свойством переполнения на странице, над которой я работаю - я поместил ее версию в свой общедоступный выпадающий список:
http://dl.dropbox.com/u/846812/stage_edit/stage_edit.html

Если вы возьмете одну из синих коробок в правом контейнере (поднимите ее за серую полосу), вы можете перетащить ее влево (или вправо), и она останется видимой. Однако если вы возьмете одну из коробок слева и перетащите ее, она будет скрыта за правой стороной, или, по крайней мере, вы не сможете увидеть ее, когда она пересекает. Кроме того, левый контейнер (#droppable-stage) расширяется вдоль оси x, чтобы держать коробку внутри, даже если он находится «под» с правой стороны (#droppable-resource-list).

Это там , потому что вы можете видеть серый прямоугольник, показывающий, где он появится, а когда вы его уроните, он появится с правой стороны. Просто когда он находится в состоянии перетаскивания, вы его не видите.

Я не могу понять, почему это происходит, особенно почему это будет отличаться для правого и левого. Я не знаю, если проблема в CSS или в jquery-ui, который можно перетаскивать / сортировать. Я попытался исправить это, безрезультатно используя css, например, если я поставлю style="overflow:visible;" на #droppable-stage, тогда перетаскивание будет работать нормально, но я потеряю переполнение y: то есть, div ресурсов (синий и зеленые ящики) разливаются из дна.

Я попытался установить для overflow-x значение visible, а для overflow-y значение auto, подумав, что это может означать, что я мог бы перетаскивать синие поля по бокам, но по-прежнему иметь полосу прокрутки слева, но это не сработало: как ни странно, это в частности, свойство overflow-y определяет, могу ли я перетащить прямоугольник влево или вправо, что для меня не имеет смысла.

Есть идеи, кто-нибудь?

1 Ответ

0 голосов
/ 15 марта 2012

это не значит, что контейнер справа имеет более высокий индекс z или что-то еще, это то, что левый контейнер содержит элементы и прокручивается при необходимости через свойство overflow: auto;.

Когда яизменил свойство visible overflow: visible; на div#droppable-stage, а затем у захваченных сбрасываемых предметов больше не было проблем с выходом из пространства левого столбца

...