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

jquery用户界面对话框,多个对话框影响位置

  •  1
  • tpae  · 技术社区  · 14 年前

    当我进行多个对话时,我面临着困难。这是我的代码:

    var dialog_count = 3;
    
    $(function() {
    
        var left_value = 0;
        var top_value = 0;
        for(var i = 1; i < dialog_count+1; i++) {
            $('.dialog_' + i).dialog({ width: 263, position: [800 - left_value, 800 - top_value] });
            left_value = left_value + 40;
            top_value = top_value + 140;
        }
    });
    

    它应该做什么 :将每个对话框整齐地堆叠在指定位置

    它做什么 :在添加新对话框时,以某种方式重新定位每个对话框。

    我试着玩弄它,这是我做的,分三步

    $('.dialog_1').dialog({ width: 263, position: [300, 700] });
    

    这是正确的位置,现在我要添加第二个。

    $('.dialog_1').dialog({ width: 263, position: [300, 700] });
    $('.dialog_2').dialog({ width: 263, position: [250, 550] });
    

    真的吗?它自己移动了另一个…现在两个都没有正确定位。

    $('.dialog_1').dialog({ width: 263, position: [300, 700] });
    $('.dialog_2').dialog({ width: 263, position: [250, 550] });
    $('.dialog_3').dialog({ width: 263, position: [200, 400] });
    

    好吧,现在事情看起来很奇怪。你真的要自己试着去理解我在说什么…(

    谢谢你的进步!

    2 回复  |  直到 14 年前
        1
  •  0
  •   Alex King    14 年前

    top_value = top_value + 140; // Try + 40 instead
    
        2
  •  0
  •   tpae    14 年前

    var dialog_count = 3;
    
    $(function() {
    
        var left_value = 0;
        var top_value = 0;
        for(var i = 1; i < dialog_count+1; i++) {
            $('.dialog_' + i).dialog({ width: 263, position: [500, 500], autoOpen: false });
        }
        for(var i = 1; i < dialog_count+1; i++) {
            $('.dialog_' + i).dialog("option", "position", [500,500]);
            $('.dialog_' + i).dialog("open");
        }
    });