我希望能够反馈实现拖动我的UL元素的直观方式的好方法。我制作了一个小型JSFiddle,显示了我当前的实现。
$.each($('#area ul'), function(){
$(this).mouseenter(
function(){
var ul_element = $(this);
ul_element.prepend("<li id='movebar'>Move List</li>");
$('#movebar').mouseenter(
function(){
$(ul_element).draggable({
snap: true,
containment:"parent",
stop: function(event,ui){
}
});
}).mouseleave(
function(){
$(ul_element).draggable("destroy");
});
ul_element.sortable({
revert:true,
containment:"parent",
cancel:"#movebar",
stop: function(event,ui){
}
});
});
$(this).mouseleave(
function(){
$('#movebar').remove();
$(this).sortable("destroy");
console.log(false);
});
});
我也在寻找选择UL元素的更好解决方案。目前,我的查询选择特定div中的所有UL元素。有没有更好的方法来选择单个UL元素?
我的项目也有限制,我可能无法为UL元素提供唯一的ID。
感谢您的任何见解。
答案 0 :(得分:0)
<head>
<meta charset="utf-8">
<title>jQuery UI Sortable - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<style>
#sortable {
list-style-type: none;
margin: 0;
padding: 0;
width: 60%;
}
#sortable li {
margin: 0 3px 3px 3px;
padding: 0.4em;
padding-left: 1.5em;
font-size: 1.4em;
height: 18px;
}
#sortable li span {
position: absolute;
margin-left: -1.3em;
}
</style>
<script>
$(function() {
$("#sortable").sortable();
$("#sortable").disableSelection();
});
</script>
</head>
<body>
<ul id="sortable">
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li>
<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li>
</ul>
</body>
尝试这个,它的可拖动列表的简单方法,然后你可以使用CSS代码进行样式设计。