我有一组可以拖到可排序的作曲器中的项目。
在作曲器中拖拽和排序项目的执行是缓慢和滞后的。当项目被重新排列时,我会期待更多的响应,但我发现在composer中移动项目时,实现排序会有延迟。demos on the jQuery site要快得多。
有人知道是什么导致了响应性的下降吗?代码如下,完整的演示如下:http://codepen.io/redmondo/pen/YZporb
$(function() {
// Add items to picker.
for (i = 0; i < 10; i++) {
var $item = createItem(i);
$("#picker").append($item);
}
// Set up sortable.
$("#composer")
.sortable({
items: "> .item",
receive: function(event, ui) {
var data = ui.item.attr("data-item");
var dataAttr = "[data-item='" + data + "']";
// If the element was actually dropped in the composer
if ($("#composer .item"+ dataAttr).length > 0) {
$("#picker .item" + dataAttr)
.draggable("disable")
.addClass("inactive");
}
}
})
});
function createItem(i) {
var $item = $("<div>" + i + "</div>")
.addClass("item")
.attr("data-item", i)
.draggable({
connectToSortable: ".connected-sortable",
revert: "invalid",
revertDuration: 100,
appendTo: "body",
helper: "clone",
refreshPositions: true
});
return $item;
}发布于 2017-03-11 23:43:29
我通过将选项tolerance: pointer设置为sortable来提高性能/响应性,这在这种交互的情况下效果更好。
https://stackoverflow.com/questions/42671956
复制相似问题