Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Копирование объектов
 
 автор: Hermit   (04.10.2010 в 21:25)   письмо автору
 
 

Доброго времени суток, уважаемые.

Столкнулся с проблемой реализации копирования объектов на HTML-странице.

Постановка задачи следующая: возьмем некий сферический объект в вакууме, например, картинку.

Необходимо сделать так, чтобы при ее перетаскивании drag&drop'ом куда-нибудь в другое место на странице, на этом месте появлялась ее копия, то есть, такая же картинка.

Очень нужна помощь, поэтому, если не затруднит, объясните, пожалуйста, как это реализовать в целом, а, в идеале, хотелось бы увидеть код хотя бы самого копирования...ну, с drag&drop проблем особо нет.

С уважением и заранее благодарен =)

  Ответить  
 
 автор: АЯ   (04.10.2010 в 22:20)   письмо автору
 
   для: Hermit   (04.10.2010 в 21:25)
 

Всё примитивно - по событию onmousedown надо определить абсолютные left и top перетаскиваемого объекта, затем делается его клон, которому, во-первых, эти left и top устанавливаются и, во-вторых, устанавливается z-Index меньший, чем у перетаскиваемого.

  Ответить  
 
 автор: Hermit   (05.10.2010 в 09:01)   письмо автору
 
   для: АЯ   (04.10.2010 в 22:20)
 

Если возможно, объясните поподробнее именно про часть с созданием клона, поскольку именно этот конкретный момент я и не могу осуществить ^^

  Ответить  
 
 автор: АЯ   (05.10.2010 в 13:09)   письмо автору
 
   для: 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).

  Ответить  
 
 автор: Hermit   (05.10.2010 в 21:30)   письмо автору
 
   для: АЯ   (05.10.2010 в 13:09)
 

Во...огромное спасибо! Как раз то, что нужно =))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования