JQuery макет и динамический перетаскиваемый выпуск Div - PullRequest
1 голос
/ 16 декабря 2010

Я использую плагин макета jquery, и у меня возникает следующая ситуация, когда я не могу найти решение. Как сделать так, чтобы центральная панель постоянно увеличивала свой размер, перетаскивая div за нижнюю границу.

У меня есть левая панель и центральная панель.Я динамически генерирую div, когда пользователь нажимает на левую панель.Div генерируются и удаляются на центральной панели.Divs можно перетаскивать и изменять размер.Все отлично работает с перетаскиванием и изменением размера в видимой центральной области.В тот момент, когда я перетаскиваю div за нижнюю часть, появляется полоса прокрутки на центральной панели, и кажется, что центральная панель расширяется, чтобы приспособить новое положение перетаскиваемого div.Но в тот момент, когда я пытаюсь изменить размер div или добавить другой div, он переходит в верхнюю часть div и сбрасывает полосы прокрутки.Я проверил высоту центра div в firebug, и он остается на той же высоте при инициализации даже после перетаскивания нового div за дно.

Вот HTML-код тестовой страницы.

Просто скопируйте / вставьте полностью в HTML-страницу.На левой панели нажмите на кнопку «Добавить новый», чтобы добавить новый div, который можно перетаскивать и изменять размер.

  1. Нажмите «Добавить новый»
  2. Перетащите новый добавленный div за нижнюю часть центральной панели.
  3. В центральной панели отображается полоса прокрутки, как и должно быть.
  4. Если вы проверяете высоту центрального div в firebug, он не меняется
  5. Теперь попробуйте изменить размер добавленного div, перетаскивая его ручку
  6. Он прыгает наверх ицентр окна теряет полосу прокрутки.

Я не мог вставить полную html-страницу, так что вот ссылка на код внизу этой темы http://groups.google.com/group/jquery-ui-layout/browse_thread/thread/ca922aa44c0048ee

А вот и тестовая ссылка http://jsfiddle.net/yZc63/

Ответы [ 2 ]

0 голосов
/ 29 сентября 2016

Я столкнулся с той же ситуацией, и этот ответ помог. https://stackoverflow.com/a/33004821/2139859. Обновленная скрипка: http://jsfiddle.net/bababalcksheep/yZc63/11/

$(".removalbe-recom").draggable({
    appendTo: "body",
    helper: "clone",
    revert: "invalid",
    cursor: "move",
    containment: "document",
    zIndex: 10000,
    scroll:false,
    start: function (event, ui) {
    $(this).hide();
    },
    stop: function (event, ui) {
        $(this).show();
    }
});
0 голосов
/ 17 декабря 2010

Я удивлен, что никто не сталкивался с такой ситуацией раньше?Даже без плагина макета мое решение не очень красивое.Чтобы смоделировать страницу без плагина макета, мне пришлось сохранить верхнюю и левую панели, используя свойство position: fixed в css.И нет центра Div вообще.Я добавляю новый div прямо в тело HTML.Причина в том, что я не хочу видеть дополнительные полосы прокрутки поверх полос прокрутки браузера.Другими словами, центральная панель должна прокручиваться при перемещении полос прокрутки браузера.Я прилагаю решение, чтобы у вас была идея.

Я открыт для любого решения, даже без плагина макета, если я могу смоделировать предыдущий вложенный файл, используя любой другой подход.Я прикрепляю свою страницу без плагина макета, но не уверен, что это единственное элегантное решение.

Вы можете проверить решение здесьхороший подход к телу html?

...