jquery sortable()有两个带溢出的div:auto;对象消失了

时间:2013-11-03 15:49:01

标签: javascript jquery html css jquery-ui

我想要两个带有UL / LI列表的div,我可以将图像从一个拖放到另一个。一切都很好,但是当我有很多物体时,我想要一个div来获得一个scollbar而另一个需要自动生长。我通过设置overflow:auto来实现这一点。

但奇怪的是,使用UL本身拖动工作正常,但将其拖到另一个UL会使项目变得“隐形”

如果我删除溢出:auto它工作正常...

这是我的js:

jQuery("#drag-kunst-in-lijst ul, #drag-kunst-alles ul" ).sortable( { 
    connectWith: '.sortable',
    delay: 100,
    scroll: false,
    cursor: 'move',
    start: function(event, ui){
        jQuery("#drag-kunst-alles").css("overflow", "hidden");
    },
    stop: function(event, ui){
        jQuery("#drag-kunst-alles").css("overflow", "scroll");
    }
});

我在这里放了一个小::http://jsfiddle.net/edwins/zBTqX/

2 个答案:

答案 0 :(得分:2)

您需要使用appendTo选项。默认是该元素在拖动时仍在父容器中。使用appendTo可以让您在更高级别的父级中进行拖动。 body通常可以正常使用。在body中,无论相对于原始父母的位置如何,它都是可见的

请注意。同时将helper设置为clone。将不得不添加一些帮助程序css和/或设置帮助程序类

See Sortable Docs

答案 1 :(得分:0)

您的问题似乎是您的设置位置相对于div和ul的相对位置。

你可以尝试绝对或一起取出位置。

这是基于你的fiddle我在#drag-kunst-in-lijst div中取出所有定位接受设置为绝对值。

#drag-kunst-in-lijst {
        position:absolute;
        top:200px;
        width: 365px;
        height: auto;
        border: 1px solid #000;
    }