YUI Dialog - fixedcenter:当高度设置为“auto”时,true不起作用

时间:2013-10-09 08:24:23

标签: javascript html css yui

我有一个包含动态内容的YUI对话框。所以高度需要相应调整。为此,如果我设置高度:“auto”,则fixedcenter:true属性无法正常工作。弹出窗口水平居中,但垂直方向的底边缘与视口底部对齐,在顶部留下大量空间。但是,如果我将高度设置为某个值,则可以正常工作,即对话框水平和垂直居中。但由于内容是动态的,我需要明确更新高度,这是不理想的。

我已经检查了这些问题并试图在那里指定更改无效。

http://yuilibrary.com/forum/viewtopic.php?p=6620

http://yuilibrary.com/forum/viewtopic.php?f=89&t=1004&hilit=fixedcenter

似乎(高度:自动)问题是在“setBody”调用之前计算并应用对话框高度和定位。因此对话框不使用计算出的高度。

这是我的代码。任何人都可以看到可能出现的问题吗?

myPopup =
{
    popup: null,    
    init: function()
    {
        this.popup = new YAHOO.widget.Dialog("myPopup",
        {
            width: "500px",
            //height: "400px",
            height: "auto",
            zIndex: 10,
            close: true,
            fixedcenter: true,
            visible: false,
            draggable: true,
            modal: true,
            hideaftersubmit: true,
            constraintoviewport: false,
            effect: { effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.10 }
        });
        if (YAHOO.env.ua.ie > 0)
            this.popup.cfg.setProperty("iframe", true);
        PluginFix.showHidePlugins(this.popup);
        this.popup.setHeader("NA");
        this.popup.setBody("NA");
        this.popup.render(document.body);
    },    

    onCreateClick: function()
    {
        if (!this.popup)
            this.init();
        this.popup.setBody("<div class='ajaxloader'></div>");
        this.popup.setHeader("Create Notification");

        this.popup.changeContentEvent.subscribe(function()
        {   /* Some project specific calls here */ });

        this.popup.hideEvent.subscribe(function()
        {   /* Some project specific calls here */ });

        this.popup.show();

        var cObj = OT.Ajax.asyncRequest('GET', '/admin/NotificationDetails.aspx',
        {
            success: function(o)
            {   myPopup.popup.setBody(o.responseText); },
            failure: function(o)
            {   /* TODO - error handling */ }
        });
    }
};

0 个答案:

没有答案