Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Перемещение рисунка за пределы скроллбокса


Автор: quiz 21.6.2007, 16:05
Задача - дать пользователю IE возможность перетаскивать каринки из набора в нужное ему место на странице.
Все работает нормально (картинки просто загружены в ряд, при клике position делается абсолютным и объект перемещается за курсором), но когда картинок становится слишком много и появляются скроллбары - свойства obj.style.left и obj.style.top начинают распологать рисунок внутри этого окошка со скроллбаром и соответственно вытащить за пределы этого блока объект невозможно.

Как позиционировать картинку относительно краев экрана, а не относительно краев блока с полосами прокрутки? smile 

Все картинки хранятся в блоке <DIV> со свойствами "width: 100px; height: 400px;overflow: scroll;"

Спасибо!

Автор: ksnk 21.6.2007, 19:11
Нужно склонировать (cloneNode) эту картинку и вставить ее клон непосредственно в body. таскать за мышкой уже именно его.

Автор: 12345c 22.6.2007, 16:15
Они и без того будут таскаться по всему окну. Когда position:absolute, объект уже не принадлежит структуре, хотя формально он в том же диве структуры. obj.style.left и obj.style.top считаются при этом от body. Ошибка - в коде, например, не допускаются координаты больше размеров дива.  Можно попробовать обойти проблему, просто переместив рисунок по дереву DOM.

Автор: SelenIT 22.6.2007, 16:31
12345c, странно, в FF у меня все так и есть (div начинает ограничивать "тягание" только при явном указании position: relative), а вот в IE само по себе указание overflow, отличного от visible, приводит к ограничению (и прокрутке, если значение scroll/auto)...

Автор: quiz 22.6.2007, 22:21
12345c, c кодом все окей. Видимо это особенность IE.
Даже если сделать
Код

<DIV style='overflow:scroll;width:10;height:10;'><img src='test.gif' style='position:absolute;left:10;top:10;'></div>

то все-равно рисунок позиционируется от краев ДИВа, а не от body.

P.S. А как переместить рисунок по дереву DOM? smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)