当前位置:  开发笔记 > 前端 > 正文

jQuery可拖动和溢出问题

如何解决《jQuery可拖动和溢出问题》经验,为你挑选了4个好方法。

当我从设置为溢出的容器div中拖动div时,我有一个不受欢迎的效果:滚动.

我找到了其他人遇到问题的例子,但我一直无法找到解决方案

粘贴仓的示例

会发生什么是滚动只是增加,我可以看到为什么这将是所需的行为,如果你想拖动到可滚动div内的目的地,但我希望能够把它带到滚动抓取之外.



1> 小智..:

我有一个类似的问题,在两个overflow-auto div之间进行拖动.在前面的答案的帮助下,我发现这个组合对我有用(Safari 5.0.3,jquery-1.4.4,jquery-ui-1.8.7):

appendTo: 'body',
containment: 'window',
scroll: false,
helper: 'clone'


对我来说,即使只是帮手:'克隆'独自解决了这个问题
Booya,我拖着.

2> Chad Grant..:

appendTo

Element,SelectorDefault:'parent'

传递给appendTo选项或由appendTo选项选择的元素将在拖动过程中用作可拖动助手的容器.默认情况下,帮助程序将附加到与draggable相同的容器中.

代码示例使用指定的appendTo选项初始化一个draggable.

$('.selector').draggable({ appendTo: 'body' });


+1这实际上对我有用.
是的,我在这个问题上完全失败了.我玩了一个小时.我能得到的最好的是我如何离开它,draggable不适用于溢出:(

3> Phill Duffy..:

注意文档肯定是值得的

http://docs.jquery.com/UI/Draggable#option-scroll

滚动

类型: Boolean
默认值: true
如果设置为true,则容器在拖动时自动滚动.

所有进入这里的人,从我的错误中学习,转发(F)M !!!


确实浪费了2个小时.我们应该真的是RTFM

4> 小智..:

它工作的克隆解决方案,但有两个问题.

第一:克隆被附加到身体上.根据你的css,你的元素可以改变样式,因为在它开始之前,它在另一个元素内部,在拖动过程中,它将直接在body元素上.

第二:有时元素必须移动,克隆让对象存在.

因此,解决这个问题的方法是:

$('.selector').draggable({
    helper: 'clone',
    start: function(){
        $(this).hide();             
    },
    stop: function(){
        $(this).show()
    }
});

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有