Javascript 拖放背后的逻辑
我想知道基本拖放功能的“如何工作”和“如何设计和实现” 我从未实现过这样的功能。我计划为我的一个项目这样做,我对如何实施它有一些想法。我想确保我走上了正确的道路,你们也很可能对这件事有话要说 假设我有5个元素,如下所示,并从数据库中抓取Javascript 拖放背后的逻辑,javascript,jquery,drag-and-drop,client-side,Javascript,Jquery,Drag And Drop,Client Side,我想知道基本拖放功能的“如何工作”和“如何设计和实现” 我从未实现过这样的功能。我计划为我的一个项目这样做,我对如何实施它有一些想法。我想确保我走上了正确的道路,你们也很可能对这件事有话要说 假设我有5个元素,如下所示,并从数据库中抓取 <div id="1">this is content for 1</div> <div id="2">this is content for 2</div> <div
<div id="1">this is content for 1</div>
<div id="2">this is content for 2</div>
<div id="3">this is content for 3</div>
<div id="4">this is content for 4</div>
<div id="5">this is content for 5</div>
这是1的内容
这是2的内容
这是3的内容
这是4的内容
这是5分钟的内容
因为这是从数据库中提取出来的,所以我们知道它有一个名为“序列”或“顺序”的字段来区分我们要输出的顺序。我们还假设当前的“序列”列值与div的id相同。所以:1
,2
,3
,4
和5
我的问题和想法
如果我拖动div4
并将其放在1
和2
之间;从那以后的步骤是什么?例如:
div-a
)
div-a
后面(或之前)的div的id,在divid
1
之后(我们称之为div-b
)
div-a
序列,并将其设置为当前序列div-b
感谢您的回答,但我知道有插件和其他东西可以完成这项工作,但我只对其中的逻辑部分感兴趣。我相信jquery提供了一种根据id获取订单的方法
我一直以来的做法是,每次发生动作时,获取当前订单,通过ajax将其发送回我的应用程序。然后,我的应用程序只是从它提供的内容中解析出ID,并更新每个项目的订单值。除非你这样做是为了自己的教育,否则我建议你使用jQueryUI 除其他功能外,它还具有拖放功能,这可能会帮助您了解DaD的本质,让您实现特定于您的问题的部分。
toArray是您的divs ID序列谢谢phillic的回答。我感兴趣的是逻辑,而不是如何做的代码。。。你的回答给了我一个想法,证明了我走在正确的道路上。
$("#col1").sortable({
placeholder: "top",
forcePlaceholderSize: true,
revert: true,
update: function() {
$.ajax({
type: "GET",
url: "/request.php",
data: "data="+$(this).sortable("toArray")+"",
success: function(msg){ }
});
}
});