【问题标题】:multiple dialogs - position each offset of each other多个对话框 - 定位彼此的每个偏移量
【发布时间】:2015-01-06 19:24:05
【问题描述】:

我正在使用对话框向我公司 Intranet 上的用户发送消息。我目前正在使用 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。例如:

【问题讨论】:

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


    【解决方案1】:

    根据文档:

    my (default: "center") 类型:String 定义在 定位到与目标元素对齐的元素:“水平 垂直“对齐。单个值,如“右”将被规范化 到“right center”,“top”将被规范化为“center top”(如下 CSS 约定)。可接受的水平值:“left”、“center”、 “正确的”。可接受的垂直值:“top”、“center”、“bottom”。 示例:“左上”或“中心”。 每个维度还可以 包含偏移量,以像素或百分比为单位,例如“right+10 top-25%”。 百分比偏移量是相对于被定位的元素的。

    所以你可以在.each 中定义一个偏移量变量,然后做类似

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多