2011-11-04 15 views

答えて

25

http://jqueryui.com/position/

ダイアログが表示されるべき場所を指定します。可能な値:

1)ビューポート内の位置を表す単一の文字列: 'center'、 'left'、 'right'、 'top'、 'bottom'。
2)Xを含む配列、Yは、ビューポートの左、右上からオフセットピクセルで 座標対(例えば、[350100])
3)Xを含む配列、Y位置、文字列値(例えば [「右」 、 'トップ'])をクリックします。例えば

:あなたは絶対位置を使用したい場合は$(".selector").dialog("option", "position", [350,100]);

+3

この配列形式の位置は現在廃止予定です。 http://api.jqueryui.com/dialog/#option-position – Cheekysoft

7

、ダイアログのpositionオプションは何が必要です。例えば

// div to position against 
var $div = $('#someDiv'); 

// Open dialog (positioning won't work on hidden elements) 
$dialog.dialog('open'); 

// position newly opened dialog (using its parent container) below $div. 
$dialog.dialog('widget').position({ 
    my: "left top", 
    at: "left bottom", 
    of: $div 
}); 
+0

@Cheekysoftあなたのコメントは、このフォームが推奨されていないことを暗示しているようです。これは配列を使用していませんが、positionメソッドの目的のパラメータタイプであるオブジェクトパラメータです。配列と文字列パラメータの形式が推奨されていないと言っても間違いありません。 –

17

これは、あなたの質問に正確な答えではありません:あなたは他の要素との相対的な位置する必要がある場合は、使用別の簡単なテクニック、jqueryのUIの$('selector').position(options);http://jqueryui.com/demos/position/で見られる)があります

$('#widget').dialog({ 
    position: ['top', 100] 
}); 

これは、ダイアログをX軸の中央に、上から100ピクセル下に配置します。

+0

この例では、 '' top''コンポーネントは何もしていません。配列をpositionオプションに渡すと、['[x、y]'座標のペアが必要です(http://api.jqueryui.com/dialog/#option-position)。文字列を整数として解析することはできないため、デフォルトの水平位置は中央にとどまります。 '' top''部分を任意の文字列に置き換えることができます。それと同じように動作します:[** Fiddle Demo **](http://jsfiddle.net/KyleMit/978UW/) – KyleMit

+0

そのことをありがとう。 – camainc