【发布时间】:2018-07-24 22:48:08
【问题描述】:
我有一个我想在页面左侧使用的项目列表,这些项目可以拖到另一侧的框中。我希望这些项目可以拖动到框或被删除。我创建了一个jsfiddle,它允许将项目拖到框中,但这并不是我想要的工作方式。我的问题如下:
- 当盒子变大时,它会重新排序盒子并将它们放入左列。我希望左侧只包含可拖动的项目。
- 它会闪烁并且并不总是拖动到光标所在的位置。我在 Mac 上使用 chrome。
- 我还希望能够从盒子中取出物品。
html:
$(".sortable").sortable({
revert: true
});
$(".draggable").draggable({
connectToSortable: ".sortable",
helper: "clone",
revert: "false",
placeholder: " droppable-placeholder"
});
$("ul, li").disableSelection();
ul {
list-style-type: none;
margin: 0;
padding: 0;
margin-bottom: 0.7em;
float: left;
}
li {
margin: 0.5em;
padding: 0.5em;
width: 150px;
border: 1px solid black;
}
.draggable-column {
height:100%;
}
.droppable-item {
border: 1px solid black;
padding: 5px;
float: left;
}
.sortable {
width: 200px;
min-height: 2em;
}
.droppable-placeholder {
background-color: lightgrey;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css"/>
<div class="row">
<div class="col-xs-4 draggable-column">
<ul class="">
<li class="draggable ">1 Drag me onto item</li>
<li class="draggable ">2 Drag me onto item</li>
<li class="draggable ">3 Drag me onto item</li>
<li class="draggable ">4 Drag me onto item</li>
<li class="draggable ">5 Drag me onto item</li>
</ul>
</div>
<div class="col-xs-8 droppable-column">
<div class="col-xs-3 droppable-item">
<h3>
Item 1
</h3>
<ul class="sortable droppable-placeholder">
</ul>
</div>
<div class="col-xs-3 droppable-item">
<h3>
Item 2
</h3>
<ul class="sortable droppable-placeholder">
</ul>
</div>
<div class="col-xs-3 droppable-item">
<h3>
Item 3
</h3>
<ul class="sortable droppable-placeholder">
</ul>
</div>
<div class="col-xs-3 droppable-item">
<h3>
Item 4
</h3>
<ul class="sortable droppable-placeholder">
</ul>
</div>
<div class="col-xs-3 droppable-item">
<h3>
Item 5
</h3>
<ul class="sortable droppable-placeholder">
</ul>
</div>
<div class="col-xs-3 droppable-item">
<h3>
Item 6
</h3>
<ul class="sortable droppable-placeholder">
</ul>
</div>
</div>
</div>
【问题讨论】:
-
.row { display: flex; /* 孩子 的高度相等/ } .col { flex: 1; / 另外,等宽 */ padding: 1em;边框:实心; } 添加这个 css 作为你的第一点。
标签: jquery css twitter-bootstrap jquery-ui