我正在尝试设计一个可以拖动并将一个div插入另一个div的功能。
例如:
<div id="1"> </div>
<div id="2"> </div>
我想让#1可拖动(我知道它可以用jQuery完成,因此可拖动不是我的问题的一部分),并将#1拖到#2上,当mouseup,#2可以插入#1
<div id="1"> <div id="2"> </div> </div>
有人可以向我解释如何实现这个目标吗?
答案 0 :(得分:6)
您可以使用jQuery UI's Sortable
进行相当简化<强> Working Example 强>
$(document).ready(function () {
addElements();
$(function () {
$("#list1, #list2").sortable({
connectWith: ".lists",
cursor: "move"
}).disableSelection();
});
});
function addElements() {
$("#list1").empty().append(
"<li id='item1' class='list1Items'>Item 1</li>" +
"<li id='item2' class='list1Items'>Item 2</li>" +
"<li id='item3' class='list1Items'>Item 3</li>");
}
答案 1 :(得分:1)
对于演示:Click Here
代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Droppable - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
#draggable { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
#droppable { width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px; }
</style>
<script>
$(function() {
$( "#draggable" ).draggable();
$( "#droppable" ).droppable({
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
});
</script>
</head>
<body>
<div id="draggable" class="ui-widget-content">
<p>Drag me to my target</p>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop here</p>
</div>
</body>
</html>