Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выделение и перемещение объектов jquery 
:(
    Опции темы
Raily
Дата 29.6.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



У меня есть следующий код: 
Код

<body>
<!-- css и javascript-коды специально размещены непосредственно на странице. -->

<div class="elmt"><img id="1" src="droppable-klubnika.gif" alt="Клубника" /></div>
<div class="elmt"><img id="2" src="droppable-banana.gif" alt="Бананы" /></div>
<div class="elmt"><img id="3" src="droppable-perec.gif" alt="Перец" /></div>

<div id="slct"><span>Корзина</span><input id="buy" type="button" value="Удалить всё!"></div>

<script type="text/javascript">
$(document).ready(function(){

// --------------- DRAGGABLES & DROPPABLES -------------------
$("div.elmt").draggable({
    helper: 'clone',
    opacity: 0.5
});

$("#slct").droppable({
  accept: ".elmt",
  activeClass: 'droppable-active',
  hoverClass: 'droppable-hover',
  drop: function(ev, ui) {
    var code = $(ui.draggable.element).find("img").attr("id");
    if($(this).find("div[@id='"+ code +"']").html()==null) {
      var name = $(ui.draggable.element).find("img").attr("alt");
      $(this).append("<div class='slct' id='" + code + "'>" + name + "<img src='droppable-delete.gif' class='delete' alt='Удалить'></div>");
    }
    // *******************************
    $(".delete").click(function () {
      $(this).parent().remove();
    });

  }
});

// --------------- DRAGGABLES & DROPPABLES -------------------
});
</script>
</body>


Он позволяет при помощи jquery перетаскивать объекты по одному (код я взяла тут: http://www.linkexchanger.su/2008/21.html)

У меня такой вопрос - а как можно сделать так, чтобы я выделяла мышкой несколько объектов и они точно так же перетаскивались?
PM MAIL   Вверх
IDVsbruck
Дата 30.6.2009, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Да, можно. Главный вопрос - как осуществить механизм выделения нескольких элементов. Далее просто - допустим, мы выделили несколько элементов, и назначаем им стиль selected, а далее - так же - $("div.elmt.selected").{...}
Вопрос с выделением, думаю, решаемый - можно пробовать анализировать события мыши в контейнере, где находятся элементы: нажание мыши в контейнере, но не на элементах, рассматривается как начало выделения элементов, при движении можно показывать рамку и сразу определять попал ли в выделение элемент, а можно при отпускании мыши это делать. При попадании элемента в выделение назначаем класс selected, при выходе из зоны убираем класс.

Возможно, сырой алгоритм, но я бы пошел именно по такому пути. Благо, jQuery предоставляет много возможностей для подобных манипуляций.
PM MAIL   Вверх
Raily
Дата 30.6.2009, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Спасибо большое!!! буду пробовать  smile 
PM MAIL   Вверх
Raily
Дата 30.6.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



что-то зашла в тупик - не могу понять, как сказать Jquery, что несколько объектов должны одновременно перетаскиваться? выделить их выделила, но перетаскиваются они по одному всё равно

Это сообщение отредактировал(а) Raily - 30.6.2009, 11:41
PM MAIL   Вверх
IDVsbruck
Дата 30.6.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Сам не использовал drag&drop в js (и в jQuery), но дока вроде говорит, что можно перетаскивать пачкой.
А что, селектор $("div.elmt.selected") не дает все элементы, у которых классы elmt и selected?
PM MAIL   Вверх
Raily
Дата 30.6.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Цитата(IDVsbruck @ 30.6.2009,  12:26)
Сам не использовал drag&drop в js (и в jQuery), но дока вроде говорит, что можно перетаскивать пачкой.
А что, селектор $("div.elmt.selected") не дает все элементы, у которых классы elmt и selected?

Не, не помогает((( он просто перетаскивает только те элементы, у которых есть и elmt и selected, но по очереди, а не все сразу
PM MAIL   Вверх
IDVsbruck
Дата 30.6.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Ну, тогда можно реализовать слегка гиморный, но зато "железобетонный" способ: выделяем и при драге создаем контейнер с абсолютныи позиционированием, по размеру как обрамляющий выделенные элементы прямоугольник, куда помещаем дубликаты выделенных элементов (сами элементы прячем). Делаем драг созданному контейнеру, который содержит требуемые элементы ... и т.д., надеюсь, идея понятна.
PM MAIL   Вверх
ksnk
Дата 30.6.2009, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Разумнее, imho, воспользоваться методами этого самого draggable.
Код

$('.selector').draggable({
   start: function(event, ui) { ... }
   drag: function(event, ui) { ... }
   stop:...
});

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





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.