Jquery Portlet水平滚动问题

时间:2011-03-19 15:38:05

标签: jquery draggable jquery-ui-sortable portlet

使用可排序的portlet拖动项目时,如何防止水平滚动? 当前拖动项目时,您可以向右滚动,没有任何限制,如演示中所示:http://jqueryui.com/demos/sortable/#portlets

编辑:我刚注意到当你垂直拖动元素时会发生同样的事情,它会永远持续下去。有什么方法可以为滚动添加某种边界吗?

感谢。

3 个答案:

答案 0 :(得分:2)

使用

轴:“y”

//Example
$(function() {
    $(setSelector).sortable({
        axis: "y",
        cursor: "move",
        opacity: 0.5,
    });
});

答案 1 :(得分:0)

我从来没有使用过sortable,但是我已经编写了代码来限制滚动到某个区域,所以也许你可以看看这段代码并找出要做的事情。

scroll_position = $(window).scrollTop();

$(window).scroll(function () {

if($(window).scrollTop() < scroll_position) {
   // code to cancel sort
}

});

对于水平滚动,请查看http://api.jquery.com/scrollLeft/

答案 2 :(得分:0)

您可以使用containment (Link to the API)。你可以这样写:

$(selector).sortable({
    containment: 'body'
})

这会将你的portlet锁定在body元素中。您还可以使用选择器或其他特殊单词来选择锁定portlet的内容。只需确保收容元素在显示时具有高度。