jQuery UI可排序容差

时间:2011-10-11 15:42:12

标签: javascript jquery-ui jquery-ui-sortable

我在顺利运行jQuery UI sortables方面遇到了一些麻烦。

我设置的公差并不总是正常工作 - 例如,如果我将它设置为'指针',有时我可能将对象几乎放在另一个上面(鼠标包括)并且它不会重新排序。有一段时间我不得不摇晃对象以使其重新排序。

是否有任何需要正常工作或任何可能导致其中断的事情? (边距,浮点数,某些元素,绝对定位元素等?)

我的代码基本上是这样的(锚定为绝对定位):

<div span="span-12 prepend-top last">
    <ul id="fileupload-images" class="ui-sortable">
        <li class="image span-3" id="38b22e1c130d9c33fafb20e7ac16c038">
            <img class="thumb span-3 last" src="/uploads/3/8/b/38b22e1c130d9c33fafb20e7ac16c038/38b22e1c130d9c33fafb20e7ac16c038.jpg">
            <a href="#" class="zoom"></a>
            <a href="#" class="remove"></a>
        </li>
    </ul>
</div>

2 个答案:

答案 0 :(得分:2)

如果以下建议不适合你,那么jsfiddle对你的可排序代码会很棒。

1)使用tolerance pointerdo not use containment

$( ".selector" ).sortable({ tolerance: "pointer" });

2)use a placeholder

$( ".selector" ).sortable({ placeholder: "sortable-placeholder" });

“sortable-placeholder”是您在样式表中定义的类。确保占位符与您尝试移动的元素的宽度和高度相同。

3)force a placeholder size

$( ".selector" ).sortable({ forcePlaceholderSize: true });

4)force a helper size

$( ".selector" ).sortable({ forceHelperSize: true });

5)向左或向右浮动你的li元素

答案 1 :(得分:2)

我发现这是我唯一有帮助的事情:

public class Variable {
    int[] nums;
    public void method(){            
        nums = new int[7];
    }
}