JQuery Перетащите Сохранить позиции - PullRequest
0 голосов
/ 25 мая 2011

Я использую перетаскивание JQuery для создания панели инструментов, используемой на сайтах, таких как www.bbc.com.Можно ли сохранить координаты элемента управления после перетаскивания элементов управления?если так, у кого-нибудь есть веб-сайт или статья, которую они рекомендовали бы?

Спасибо!

Ответы [ 6 ]

0 голосов
/ 30 июня 2018

перетаскивание

$('#page_list').sortable({

            update  : function(event, ui)
          {
              $("#save_arrangement").show();
              var id_array = new Array();
                 $('#page_list tr').each(function(){
                    id_array.push($(this).attr("id"));
                 });
             console.log(id_array);
             $("#save_arrangement").on("click", function () {
                  $.ajax({
                    url:"/quotations/save_arrangement",
                    method:"POST",
                    data:{'id_array':id_array},
                    success:function(success)
                    {
                     swal({
                        title:"Arrangement has been saved",
                        type:"success"
                     },
                     function(isConfirm) {
                          if (isConfirm) {
                                  location.reload(); 
                          }
                        });

                    },
                  });
             });
          }
      });
0 голосов
/ 25 мая 2011
$(this).draggable({revert:true});

это поможет вашему элементу управления перетаскиванием переместиться в исходное положение при отпускании

0 голосов
/ 25 мая 2011

Вы ищете атрибут ui.position.

$("#foo").draggable();
$("#foo").bind("dragstop", function (e, ui)
{
    console.log(ui.position.top);
    console.log(ui.position.left);
});

Событие может быть связано внутри перетаскиваемого метода, но я оставил его для ясности.

Дополнительная информация

0 голосов
/ 25 мая 2011

Где вы хотите сохранить их?

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

 stop: function(event, ui) { ... }

Там вы можете получить позицию управления, используя функцию смещения.

С уважением

0 голосов
/ 25 мая 2011

Не могли бы вы запустить функцию перетаскивания, которая отправляет координаты и размер соответствующего элемента управления с помощью ajax на сервер и сохраняет его?

Если это "обычное" перетаскивание, то у вас естьstop функция, которую вы можете использовать.

$( ".selector" ).draggable({    stop:
function(event, ui) { $.ajax(...) }
});
0 голосов
/ 25 мая 2011

Если вы просто хотите координаты элементов управления, вы можете просто использовать http://api.jquery.com/offset/ после того, как перетаскивание остановлено и затем сохраняет эти координаты в базе данных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...