代码之家  ›  专栏  ›  技术社区  ›  Joseph

如何修复在站点上垂直扩展的jQuery对话框?

  •  0
  • Joseph  · 技术社区  · 14 年前

    我有一个jQuery对话框,定义如下

    <div id="emaildialog" title="Contact Us">
        <!-- Html.RenderPartial("ContactUs"); -->
        <div>This is a test</div>
    </div>
    
    
    <script type="text/javascript">
        (function ($) {
            // increase the default animation speed to exaggerate the effect
            $.fx.speeds._default = 1000;
            $(function() {
                $( "#emaildialog" ).dialog({
                    autoOpen: false,
                    show: "blind",
                    hide: "explode",
                    width: 700,
                    modal: true,
                    position: 'center'
                });
    
                $( "#viewselected" ).click(function() {
                    $( "#emaildialog" ).dialog( "open" );
                    return false;
                });
            });                
        })(jQuery);
    </script>
    

    当我单击导致对话框显示的按钮时,对话框位于屏幕中央,但它横跨we页面的整个高度。具体来说,标题栏本身会拉伸,对话框底部的内容看起来很好。

    有人知道是什么引起的以及如何解决吗?

    我注意到一件奇怪的事。如果我单击对话框的侧面来调整对话框的大小,那么它会正确地重新绘制自己,在检查css时,我注意到对话框的位置从相对更改为绝对,但这都是在jQuery UI中完成的,所以我不确定如何在代码中修复它。

    我使用的css链接自google:

    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/
        1.7.2/themes/start/jquery-ui.css" type="text/css" rel="Stylesheet" />
    

    您可以在这里看到css的站点: http://dev.thinkterrabella.com/

    1 回复  |  直到 14 年前
        1
  •  1
  •   Joseph    14 年前

    不需要指定对话框宽度。如果在对话框打开时从对话框设置函数中删除它,它将根据内容调整大小,如果大于视窗,它将有滚动条。

    希望有帮助!

    为什么要将jQueryUI 1.8.5与1.7.2的主题一起使用???也许css中的某些东西正在破坏你的网站。我建议您更改指向1.8.5版本的主题css: http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/start/jquery-ui.css