2012-12-05 29 views
7

我正在使用jQuery移動並試圖在頁面加載時顯示jQuery彈出窗口。但是,當頁面加載彈出窗口不在中心出現時,而是彈出窗口的左上角出現在中心。未出現在中心的jQuery移動彈出框

但是一旦瀏覽器窗口大小發生變化,彈出窗口會自動移到中間位置(即使我按F12爲開發人員工具)。然後所有經常調用$('#popupBasic')。popup(「open」);使其出現在屏幕的中心。

但是第一次彈出框的左上角出現在中心。

+0

我有類似這樣的問題後,重新定位。有時它看起來像你上面說的那樣,但大多數時候彈出窗口甚至不顯示(儘管它在那裏 - 正如我通過檢查DOM所看到的那樣)。不知道解決方案是什麼。 –

+1

也具有與1.3.0完全相同的問題。 Chrome的最新版本。你有沒有找到解決辦法? – Dave

回答

0

這是一個非常模糊的問題。

幾個項目,你應該提供:

  • 是什麼瀏覽器測試你對什麼版本?
  • 什麼版本的JQM?
  • 是否有任何自定義CSS與JQM交互?

作爲JQM 1.2,可用的彈出式選擇:

缺省: 「原點」

設置元件相對於所述彈出將居中。它具有以下值:

「origin」當彈出窗口打開時,將中心放在傳遞給open()調用的座標上(請參閱methods頁面)。

「窗口」當彈出窗口打開時,居中窗口。

jQuery選擇器當彈出窗口打開時,根據選擇器創建一個jQuery對象,並將其放在中間。對選擇器進行篩選,以查看使用「:visible」可見的元素。如果結果爲空,則彈出窗口將在窗口中居中。

Source

+0

它出現在幾乎每一個地方我都試過了, 的Chrome版本24.0.1312.32的β-M 火狐16.0.1 HTC野火2.2.1 JQM jquery.mobile-1.2.0.min.js 沒有自定義CSS與JQM 我試過所有彈出選項,但仍然沒有成功。 要複製你可以試試這個 ''

SOME LONG CONTENT
然後 '的$(document).bind( 'pageinit',函數({ $( '#popupBasic')彈出( 「開放」);} );' –

1

我得到了同樣的錯誤。您只想在頁面繪製後顯示彈出窗口。

添加您的代碼來監聽pageshow事件而不是pageinit事件可能會解決您的問題。它爲我修好了。

10

您可以嘗試重新定位上pageshow彈出:

$('#popupLogin').popup('reposition', 'positionTo: window'); 

我想你遇到的是倒在定位之前發生的頁面瀏覽器完全抽出。您可以通過重新定位彈出窗口來解決此問題,如下所示:

$(document).on('pageshow', '.selector', function(){ 
    $('#popupBasic').popup('reposition', 'positionTo: window'); 
}); 
+2

我使用了一個彈出div,用於根據用戶選擇顯示不同的圖像,這些圖像大小不一,直到加載後才知道,調用:$('#popupLogin').popup( 'reposition','positionTo:window');'將圖片加載到彈出框後,彈出成功居中。 – dsdsdsdsd

2
$(document).on("popupafteropen", function() { 
    $('#popup').popup('reposition', 'positionTo: window'); 
}); 

您可以使用自定義彈出事件打開