2012-05-18 62 views
0

我嘗試在網站上定位Jquery UI的對話框與嚴格的位置。我嘗試將它們用作小彈出窗口,繞過一秒鐘然後在不同的位置重新使用它們。但是當我滾動我的頁面時,對話框會跟隨我的視口。我用這個代碼來定位它們:可能的位置jquery ui對話框不相對於視口

$("#bubble").dialog("option", "position", [xLoc,yLoc]); 

有什麼辦法可以給他們嚴格的位置嗎?

在這裏你可以檢查我的網站,我嘗試它。當你向下滾動彈出窗口跟着你:(

+0

您能舉一個現場示例嗎?當我嘗試這個時,當我滾動時,對話框不會跟隨視口 - http://jsfiddle.net/AE9jY/。 –

+0

它不會動態跟蹤。它爲您的觀點設定了下一個彈出窗口的位置。如果你向下滾動,它就開始被你的觀點強加起來,但它需要被放在頁面的頂部,所以你看不到它。 –

回答

2

jQuery UI Dialog's docs位置選項顯示的對話框相對於用戶的口中。

因此,如果你不想要這個功能,你應該重新定位通過改變對話其topleft CSS值的值,這將在屏幕的左上角的位置對話框,無論視口。

$('.ui-dialog').css({ 
    top: 0, 
    left: 0 
}); 
+0

對不起,但它不起作用。 (儘管我把你的代碼放到$ .ready –

+0

我使用該代碼來解決我的問題: $(「#」+ div).dialog(「option」,「position」,[ xLoc-window.pageXOffset,yLoc-window.pageYOffset]); –

+0

你還需要什麼嗎? –

1
$('your_selector').dialog({ 
    open: function(){ 
    $('.ui-dialog').css({ 
     "position": "absolute", 
     "top": ($(window).height() - $(this).height())/2+$(window).scrollTop() + "px", 
     "left": ($(window).width() - $(this).width())/2+$(window).scrollLeft() + "px" 
    }); 
    } 
}); 

我知道這是什麼地方阿迪d在某些帖子中,對不起,請重新添加,但這應該起作用