【问题标题】:jQueryUI Dialog positioning after vertical scrolling垂直滚动后的jQueryUI对话框定位
【发布时间】:2011-01-13 09:52:15
【问题描述】:

我有以下 jqueryui 对话框:

        $("#dialog").dialog({
        bgiframe: true,
        autoOpen: false,
        height: 420,
        hide: 'slide',
        modal: true,
        buttons: {
                            'Annuler': function() {
                $(this).dialog('close');
            },
            'Envoyer votre message': function() {}
}

当我显示它时:

    $('#question-annonceur').click(function() {
        $('#dialog').dialog('open');
    });

它非常集中。但是当我垂直滚动时,它不再居中。 实际上,对话框仍然居中(关于用户设置的滚动条位置),但是滚动条已经滚动到窗口顶部,然后,对话框不再居中(因为它是居中的关于新的滚动条位置)。

有没有我可以设置的属性,这样滚动条就不会像这样在顶部重置?

谢谢。

【问题讨论】:

    标签: jquery-ui dialog scrollbar centering


    【解决方案1】:
    jQuery(window).scroll(function() {
        jQuery('#dialog').dialog('option','position','center');    });
    

    在 jquery 1.9 中为我工作

    这是假设你的对话框有id="dialog"

    【讨论】:

    • 非常好:优雅简洁。
    • 在窗口对象的滚动事件上附加一个监听器不去抖动是自找麻烦。
    【解决方案2】:

    将 CSS 从 position:absolute 更改为 position:fixed 对我有用:

    .ui-dialog { position: fixed; padding: .1em; width: 300px; overflow: hidden; }
    

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 2012-03-07
      • 2020-04-24
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多