|
|
|
| Доброго времени суток, уважаемые.
Столкнулся с проблемой реализации копирования объектов на HTML-странице.
Постановка задачи следующая: возьмем некий сферический объект в вакууме, например, картинку.
Необходимо сделать так, чтобы при ее перетаскивании drag&drop'ом куда-нибудь в другое место на странице, на этом месте появлялась ее копия, то есть, такая же картинка.
Очень нужна помощь, поэтому, если не затруднит, объясните, пожалуйста, как это реализовать в целом, а, в идеале, хотелось бы увидеть код хотя бы самого копирования...ну, с drag&drop проблем особо нет.
С уважением и заранее благодарен =) | |
|
|
|
|
|
|
|
для: Hermit
(04.10.2010 в 21:25)
| | Всё примитивно - по событию onmousedown надо определить абсолютные left и top перетаскиваемого объекта, затем делается его клон, которому, во-первых, эти left и top устанавливаются и, во-вторых, устанавливается z-Index меньший, чем у перетаскиваемого. | |
|
|
|
|
|
|
|
для: АЯ
(04.10.2010 в 22:20)
| | Если возможно, объясните поподробнее именно про часть с созданием клона, поскольку именно этот конкретный момент я и не могу осуществить ^^ | |
|
|
|
|
|
|
|
для: Hermit
(05.10.2010 в 09:01)
| |
//object - перетаскиваемый объект
//по onmousedown сначала определяете его left и top через оффсеты
//и ЗАТЕМ, сделав проверку флага (см. PS):
var clon = object.cloneNode (true); //создаёте виртуальный клон
clon.style.position = 'absolute'; //если у object'a не absolute
clon.style.left = 'что_надо' + 'px'; //обязательно
clon.style.top = 'что_надо' + 'px'; //обязательно
clon.style.zIndex = -1; //обязательно
clon.id = 'что_надо'; //если надо
document.body.appendChild (clon); //приживляете
//ну а ПОТОМ подключаете функции перетаскивания для object
|
P.S. Разумеется, всё это делается ОДИН раз, о чём делаете отметку где-либо в глобальном флаге (или в каком-либо атрибуте этого object). | |
|
|
|
|
|
|
|
для: АЯ
(05.10.2010 в 13:09)
| | Во...огромное спасибо! Как раз то, что нужно =)) | |
|
|
|