jQuery UI 可排序容差

发布于 2024-12-09 10:01:15 字数 727 浏览 0 评论 0原文

我在 jQuery UI 可排序项的顺利操作方面遇到了一些麻烦。

我设置的容差并不总是正确工作 - 例如,如果我将其设置为“指针”,有时我可能会将对象几乎放在另一个对象(包括鼠标)之上,并且它不会重新排序。有时我必须摇动对象才能重新排序。

是否有任何需要正常工作的东西或可能导致其损坏的东西? (边距、浮动、某些元素、绝对定位元素等?)

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

<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>

I'm having some trouble getting smooth operation of jQuery UI sortables.

The tolerance I set doesn't always work correctly - for example, if I set it to 'pointer', sometimes I could have the object almost on top of another (mouse incl.) and it won't reorder. Some time I have to jiggle the object to get it to reorder.

Is there anything that is required to work correctly or anything that can cause it to break? (margins, float, certain elements, absolute positioned elements, etc?)

The code I have is basically something like this (anchor as abs. positioned):

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

放血 2024-12-16 10:01:15

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

helper: "clone"

I found that this was the only thing which helped in my situation:

helper: "clone"
枕花眠 2024-12-16 10:01:15

如果以下建议不适合您,那么 jsfiddle 将非常适合您的可排序代码。

1)使用 容差指针不要使用包含

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

2) 使用占位符

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

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

3) 强制占位符大小

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

4) 强制辅助大小

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

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

A jsfiddle would be great with your sortable code if the following suggestions do not work for you.

1) use tolerance pointer and do not use containment

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

2) use a placeholder

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

"sortable-placeholder" is a class you define in your stylesheet. Make sure the placeholder is the same width and height as the element you are trying to move over.

3) force a placeholder size

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

4) force a helper size

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

5) Float your li elements left or right

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文