2013-06-27 64 views
1

我使用jQuery uimodaldialog,這是設置jQuery UI的對話框中改變位置後,先點擊

$("#dialog").dialog({ 
    autoOpen : false, 
    minWidth : 700, 
    show : { 
     effect : "fade", 
     duration : 1000 
      }, 
    hide : { 
     effect : "fade", 
     duration : 1000 
      }, 
    close : function(event, ui) { 
    }, 
}); 

我這個

$('.mylink').on('click', function() { 
$("#dialog").dialog("open"); 

現在就先調用點擊顯示在頁面的中心。

如果再次點擊,則向上移動大約200px。

在進一步點擊它說

+0

是否爲$內容( 「#dialog」)元素之間的變化? – Foreever

回答

1

HTML找到jQuery的位置幫助修復對話框的位置

<input type="button" class="mylink" /> 
<div id="dialog">Hello</div> 

jQuery的

$(document).ready(function() { 
    $("#dialog").dialog({ 
     autoOpen: false, 
     minWidth: 700, 
     show: { 
      effect: "fade", 
      duration: 1000 
     }, 
     hide: { 
      effect: "fade", 
      duration: 1000 
     }, 
     position: { 
      my: "center", 
      at: "center", 
      of: window 
     }, 
     close: function (event, ui) {}, 
    }); 
    $('.mylink').on('click', function() { 
     $("#dialog").dialog("open"); 
    }); 
}); 

工作演示http://jsfiddle.net/cse_tushar/k4LLM/1/

參考http://api.jqueryui.com/dialog/#option-position

+0

我不知道,但我試着在我的文件相同的編碼。第一次顯示在正確的位置,但下一次顯示大約200px。任何想法哪些東西已經iterfering – user1958218

+0

我可以添加位置與'.dialog('打開')',這樣我從那裏得到的價值不從默認 – user1958218

+0

[點擊這裏](http://stackoverflow.com/questions/2889877/ jquery-ui-use-dialogopen-and-pass-a-variable-to-the-dialog)這可能會幫助你 –

0

您可以通過下面的代碼

$("#dialog").dialog({ 
autoOpen : false, 
minWidth : 700, 
position: { 
    my: 'top', 
    at: 'top', 
    of: $('#some_div') 
    } 
show : { 
    effect : "fade", 
    duration : 1000 
}, 
hide : { 
    effect : "fade", 
    duration : 1000 
}, 
close : function(event, ui) { 
}, 
}); 

您可以在http://api.jqueryui.com/position/

+0

我嘗試,但第一次的位置是正確的定義,然後下一次是比以前的位置向上 – user1958218

+0

你爲我的,爲什麼設置了什麼值? – mck

+0

與你的相同,有沒有什麼辦法可以添加位置dailog.open – user1958218