3

我想要一个看起来像这样的对话框:

带有漂浮在外面的项目的对话框

我认为这种方法可行,但我想我错了:

JavaScript

//Creates The Dialog
$('.ImageDialogDiv').dialog({
    position: [98, 223],
    resizable: false,
    //modal: true,   /* UNCOMMENT AFTER DEBUGGING */
    closeOnEscape: false,
    class: 'OverwriteDialogOverflow',
    title: $('#hiddenDialogElements').html(),
    open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});

CSS

  /*
  * Overrides hidden overflow
  */
 .OverwriteDialogOverflow
 {
     overflow: visible;
 } 

HTML

<div id = "dialogDiv" class = "ImageDialogDiv"></div>

<div id = "hiddenDialogElements">
    <button id = "hiddencloseButton">Close</button>
    <div id = "hiddenArrowButtons">
        <button class = "ArrowButtonDialogLeft" onclick = "ShowNextImage(-1)" ></button>
        <button class = "ArrowButtonDialogRight" onclick = "ShowNextImage(1)" ></button>
    </div>
</div>

当我尝试将箭头或关闭按钮移出对话框时,会被切断并且不可见。我虽然添加.OverwriteDialogOverflow会解决这个问题。

建议?

4

3 回答 3

1

如果/当您更新帖子时,我将对此进行更详细的编辑,但我要做的是将对话框和按钮放在具有相对定位的容器 div 中,并使用绝对定位来放置按钮。像下面这样...

HTML:

    <div id = "hiddenDialogElements">
        <button id = "hiddencloseButton">Close</button>
        <div id = "hiddenArrowButtons">
            <button class = "ArrowButtonDialogLeft" onclick = "ShowNextImage(-1)" ></button>
            <button class = "ArrowButtonDialogRight" onclick = "ShowNextImage(1)" ></button>
        </div>
    </div>
</div>

CSS:

.OverwriteDialogOverflow { overflow: visible; }

#dialogContainer { position: relative; }

#hiddencloseButton {
    position: absolute;
    top: -15px;
    right: -15px;
}

#hiddenArrowButtons {
    position: absolute;
    bottom: -30px;
}

.ui-dialog { overflow: visible; }

编辑:根据评论添加 .ui-dialog CSS

于 2011-05-24T19:58:09.777 回答
0

为了让关闭按钮移到外面,我写了这段代码

                $(".ui-dialog-titlebar-close").css('background-image', 'url(../../images/closePopUpX.png)');
                $(".ui-dialog-titlebar-close").css('width','25');
                $(".ui-dialog-titlebar-close").css('height','25');
                $(".ui-dialog-titlebar-close").css('top','-7px');
                $(".ui-dialog-titlebar-close").css('right','-15px');
                $(".ui-dialog-titlebar-close").css('background-repeat','no-repeat');
                $(".ui-dialog-titlebar-close").css('background-position','center center');
                $(".ui-dialog").css('overflow','visible');
                $('.ui-icon').css('display','none');

在对话框创建部分。

于 2013-09-28T19:59:05.450 回答
0

您可以在open:函数调用中添加自定义内联 CSS 和类...

    $('#splash_screen_dialog').dialog({
        open: function(event, ui) {
            $(this).css({
                'max-height': 500,
                'overflow-y': 'auto'
            }).addClass('dialog-overflow');
        }
    });
于 2020-11-10T21:14:40.840 回答