多个对话框 - 定位彼此的每个偏移量

时间:2015-01-06 19:24:05

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

我正在使用对话框向公司内部网上的用户发送消息。我目前正在使用jquery对话框来显示消息。

var alerts = data.d;
$.each(alerts, function(index, notifier) {
    var divId = 'div' + index;
    var div = '<div id="' + divId + '">' + notifier.Message + '</div>';
    $('#alertPlaceHolder').append(div);
    $('#' + divId).dialog({
        width: 400,
        height: 250,
        modal: true,
        title: notifier.Title + ' [Alert Id # ' + notifier.AlertId + ']',
        show: 'slide',
        hide: 'explode',
        position: {
            my: "left top",
            at: "left top",
            of: 'window'
        },
        buttons: {
            'Ok': function() {
                $(this).dialog('close');
            }
        }
    });

});

如果有多条消息,则当前将每个对话框放在一起。如何通过n使对话框相互抵消。例如:

Dialog off set

1 个答案:

答案 0 :(得分:2)

根据文件:

  

my(默认值:&#34; center&#34;)类型:字符串定义上的位置   元素被定位为与目标元素对齐:&#34;水平   垂直&#34;对准。单个值,例如&#34; right&#34;将被标准化   到#34;右中心&#34;,&#34; top&#34;将被标准化为&#34; center top&#34; (以下   CSS惯例)。可接受的水平值:&#34;左&#34;,&#34;中心&#34;,   &#34;右&#34 ;.可接受的垂直值:&#34; top&#34;,&#34; center&#34;,&#34; bottom&#34;。   示例:&#34;左上角&#34;或者&#34;中心中心&#34;。 每个维度也可以   包含偏移量,以像素或百分比表示,例如,&#34;右+ 10顶-25%&#34; 。   偏移百分比是相对于所定位的元素。

因此,您可以在.each内定义偏移变量,并执行类似

的操作

my: "left top + " + myOffSet应该可以解决问题。