【问题标题】:Move dialog off the screen将对话框移出屏幕
【发布时间】:2013-01-29 16:20:45
【问题描述】:

使用 jQuery ui 对话框,并且需要将对话框移出屏幕, 尝试过

$.ui.dialog.prototype._makeDraggable = function() { 
this.uiDialog.draggable({
    containment: false,
    });
};

这适用于左侧和顶部。但是在移动到右侧和底部时,我得到了窗口的滚动条,我不希望这些滚动条出现,有什么办法可以消除这些吗?

【问题讨论】:

  • 你尝试过使用安全壳吗?
  • 是的,我使用了上面的代码。并将遏制设置为假。对话框也很好地从屏幕上移开,但是在将其拖动到右侧或底部时,我会看到窗口的滚动条,我想避免这种情况。有什么办法可以做到这一点吗??
  • 你能把对话框移出浏览器窗口吗?我有麻烦了。请回复?

标签: jquery jquery-ui jquery-ui-dialog


【解决方案1】:

我发现这里出了什么问题。在我将下面的代码添加到 css 之后,这绝对是我需要的方式

body {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
overflow-y: hidden;
overflow-x: hidden;
}


html {
overflow-y: hidden;
background-color: transparent;
}

我只需要将底部和右侧设置为 0

现在它就像一个魅力:)

【讨论】:

    【解决方案2】:

    您必须使用遏制来限制拖动。

    敌人前,

    $("#dialog").dialog().data("dialog").uiDialog.draggable("option","containment","body");
    

    请参考:http://jsfiddle.net/aXWAj/

    【讨论】:

    • 实际上我希望对话框移出屏幕,这很好,但问题是我的窗口在将其拖动到右侧或底部时会随着滚动条展开,我希望对话框离开屏幕但是我不想要滚动条。
    • 让我说得简单点,在上面的小提琴中,只需将“body”更改为“none”或“false”,然后将其拖到左侧,我希望它以相同的方式工作向右拖动,但是当我拖动太多时会出现滚动条。为什么会这样??也许是因为它们没有特定的宽度??
    • 检查这个:jsfiddle.net/pitchaip/aXWAj/17 现在我已经将包含设置为文档,它允许在文档上移动而不是扩展滚动
    • 但这仍然不能解决我的问题,它仍然停留在屏幕上,而我想在没有滚动条的情况下隐藏屏幕上的对话框
    • 您可能需要添加“溢出:隐藏;”为 body 并将包含设置为 false。
    猜你喜欢
    • 1970-01-01
    • 2020-09-09
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多