我不想在屏幕上居中顯示對話框,所以我設置了框的頂部和左側座標。我將其定位,以便它出現在鏈接旁邊,並且在點擊之前最初不會打開。如何在屏幕上保留jQuery對話框?
$("#error").dialog({
bgiframe: true,
autoOpen: false,
width: 'auto',
height: 'auto',
hide: 'slide',
show: 'clip'
});
和
<div id="error" title="Error">
<div id="errorText"> </div>
</div>
在這裏,我想在屏幕上顯示一條錯誤消息。例如,如果我處於頁面底部,我不希望用戶必須向下滾動才能看到對話框。同樣的事情,如果錯誤消息是在右側,我想要顯示它在單擊元素的左側。這是唯一的問題,因爲我有自動寬度和高度它似乎並沒有知道div的高度/寬度之前我顯示對話框;與$('#error')。height()或$('#error')。width()。
$("#errorText").html(request.responseText + '<p>(Esc or click to close)</p>');
var x = el.position().left + el.outerWidth();
var y = el.position().top - $(document).scrollTop();
var position = el.position();
var bottomOfDialog = position.top + heightOfTheDialog;
if(bottomOfDialog > document.height)
{
y -= heightOfTheDialog;
}
var rightSideOfDialog = position.left + widthOfTheDialog;
if(rightSideOfDialog > document.width)
{
x -= (widthOfTheDialog + el.outerWidth());
}
$("#error").dialog('option', 'position', [x, y]).dialog('open');
我如何得到實際的對話框之前適當heightOfTheDialog和widthOfTheDialog被打開?或者我應該使用別的東西?
我面臨同樣的問題...有沒有運氣? – 2009-11-26 12:55:55
不幸的是沒有 – rball 2009-11-26 15:40:13