为什么不在我的jQuery UI中滚动工作可排序?

Sam*_*ghs 9 jquery user-interface scroll jquery-ui-sortable

我在使用jQuery UI的可排序函数时遇到了问题.滚动似乎不起作用.

如果第二个列表(列表是在tbody中的表行上创建,每个tbody都是连接)是不可见的,我希望它可以滚动它以删除我的表行.

这是我的HTML设置:

<ul>
    <li>
        <ul>
            <li>
                <table class="treeleerling">
                    <tbody class="oder0">

                        <tr class="suborder0">

                        </tr>
                        <tr class="sub1order">

                        </tr>
                    </tbody>
                </table>
            </li>
        </ul>
    </li>
    <li>
        <ul>
            <li>
                <table class="treeleerling">
                    <tbody class="oder1">

                        <tr class="suborder0">

                        </tr>

                        <tr class="suborder1">

                        </tr>
                    </tbody>
                </table>
            </li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

和jQuery代码

$(document).ready(function() {
    $("#left tbody").sortable({
            connectWith : '#left tbody',
            scroll : true,
            scrollSensitivity: 40,
    });
});
Run Code Online (Sandbox Code Playgroud)

排序工作正常,但滚动不..我做错了什么或什么?

更新:我重构了代码,只使用列表中的列表项而不是表体中的表行.同样的问题仍然存在

小智 13

这可能不适用于您的情况,但我想我会将我的解决方案发布到我正在使用的jQuery可排序的scolling问题.我没有使用滚动div.为了让滚动工作,我不得不从样式表中删除这一行:

body {
  overflow-x: hidden; /* this line kept page scrolling from working */
}
Run Code Online (Sandbox Code Playgroud)

我还将'sortment'选项设置为'document'(这使得项目不会被左/右拖离页面,这也是我需要的).


Fli*_*ink 5

我只是偶然发现了这一点。对您来说可能为时已晚,但对于任何未来的访客:

有这个问题,我不得不从我的 css 中删除以下行:

#sortable{overflow: auto;} /*delete this */
Run Code Online (Sandbox Code Playgroud)

所以我猜分配给 sortable 的任何类型的溢出都可能是问题所在。


Mic*_*Mao 0

抱歉,由于我对 jQuery UI 库的了解有限,我无法检测到您的代码中的任何错误。顺便说一句,向下滚动到目标 div 的代码在哪里?

这是解决这个问题的另一种方法,使用另一个 jQuery 插件:ScrollTo

使用它很简单,加载插件后,使用代码如下:

$.scrollTo('#your_target_element_id');
Run Code Online (Sandbox Code Playgroud)

我一直在我的项目中使用它,并且 jQuery 1.4.2 似乎还可以

希望这可以帮助 :)