将一个对话框拖放到另一个框中添加不必要的可滚动条

Posted

技术标签:

【中文标题】将一个对话框拖放到另一个框中添加不必要的可滚动条【英文标题】:Dragging and dropping one dialog box into another box adding unnecessarily scrollable bar 【发布时间】:2012-10-27 04:33:50 【问题描述】:

当一个对话框(即“迭代 1”)拖放到另一个对话框(即第 1 版)时工作正常,但向其他对话框(即“第 1 版”)添加了不必要的可滚动条。我想查看我的对话框,即“迭代 1” ' 在左上角本身。

$(document).ready(function() 

    $( "#dialogRelease").dialog(

        autoOpen: false,
        modal: false,
        show:  effect: 'fade', duration: 2000,
        hide: "size",
        resizable:false,
        draggable:true,
        height: 360,
        width: 450,
        position: [1300,500]
    );

);

我需要在这里改变什么吗?

这里有演示代码 [http://jsfiddle.net/coolanuj/7683X/14/]

【问题讨论】:

@pmandell 将不胜感激您的任何帮助。 @Munchies :我们将不胜感激您的任何帮助 等待您的宝贵答案 【参考方案1】:

如果您谈论的是释放后将可拖动框放置在另一个容器中,实际上,问题出在其他地方。当您释放一个项目时,它会附加到其新容器中,但您不会更改可拖动项目的topleft css 值。因此,它最终被附加到可见区域之外。如果只有一个容器,可以这样修复:

function deleteImage($item) 
    $item.fadeOut(function() 
        var $list = $("ul", $trash).length ? $("ul", $trash) : $("<ul class='gallery ui-helper-reset'/>").appendTo($trash);

        ////////position fix/////////
        $item.css(
            top: 10,
            left: 10
        );
        $item.find(".placeholder1").remove();
        $item.append($gallery).appendTo($list).fadeIn(function() 
            $item.animate(
                width: "200px"
            ).find(".placeholder1").animate(
                height: "250px"
            );
        );
    );

如果容器应该接受更多元素,您需要找到一种算法来正确放置它们。

【讨论】:

【参考方案2】: #dialogIteration 溢出:隐藏;

这修复了滚动条,尽管我认为您正在寻找其他东西。在尝试使用 jQuery 插件之前,请尝试正确设置您的 css。这是样式问题而不是 jQuery 问题。 检查文档以进行拖放,某处可能存在溢出选项,还要确保对话框中的所有元素都具有正确的样式,否则您将获得非常不稳定的行为。

【讨论】:

以上是关于将一个对话框拖放到另一个框中添加不必要的可滚动条的主要内容,如果未能解决你的问题,请参考以下文章

vue之Better-Scroll组件 将滚动条滚到最底部

jQuery:最初创建克隆的可拖动 div,然后在被删除后不会

下拉加载更多DEMO(js实现)

将列表视图的列表项拖放到另一个列表视图列表项

Angular 8拖放 - 将文件或文件夹拖放到另一个文件夹中

ipad:将 UITableViewCell 从一个 UITableViewController 拖放到另一个