首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery UI可排序:拖放和重新排序交互的性能

jQuery UI可排序:拖放和重新排序交互的性能
EN

Stack Overflow用户
提问于 2017-03-08 20:54:19
回答 1查看 316关注 0票数 0

我有一组可以拖到可排序的作曲器中的项目。

在作曲器中拖拽和排序项目的执行是缓慢和滞后的。当项目被重新排列时,我会期待更多的响应,但我发现在composer中移动项目时,实现排序会有延迟。demos on the jQuery site要快得多。

有人知道是什么导致了响应性的下降吗?代码如下,完整的演示如下:http://codepen.io/redmondo/pen/YZporb

代码语言:javascript
复制
$(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;
}
EN

回答 1

Stack Overflow用户

发布于 2017-03-11 23:43:29

我通过将选项tolerance: pointer设置为sortable来提高性能/响应性,这在这种交互的情况下效果更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42671956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档