0

誰かが bPopup に精通しているかどうかはわかりませんが、ここでは何もありません。

実行されたAJAXリクエストがあり、成功すると新しいコンテンツがポップアップにロードされ、サイズが変更されます.この後、divを正しく中央に戻すにはどうすればよいですか?

これがbPopupコードです

re-center 関数を実行しようとしましたが、次のように関数を実行しようとすると、「Uncaught ReferenceError: bPopup が定義されていません」というエラーが表示されます。

bPopup.recenter();

何か案は?

みんなありがとう!

4

2 に答える 2

1

イベントをトリガーし$(window).resize()ます。

recenter()bPopup ではプライベートです。ポップアップを整列するために呼び出すことはできますbPopup().reposition()が、ユーザーがページをスクロールすると、ポップアップが再び整列されなくなります。イベントをトリガーするだけ$(window).resize()でうまくいきました:

$('#my-button').click(function() {
    // show the popup
    var myPopup = $('#my-popup');
    myPopup.bPopup();
    // load new content
    $.get(myUrl).done(function(data) {
      myPopup.html(data);
      // trigger "window resized"
      $(window).resize();
      // this will not work if the user scrolls the page
      /* myPopup.bPopup().reposition(); */
    });
});
于 2016-04-10T22:12:43.097 に答える
1

はい、私も似たような状況でした。ajax をロードした後にポップアップの内容が変更されましたが、開いているポップアップのサイズは同じままでした。

ポップアップを閉じ、ポップアップ div の内容をクリアし、すぐに再度開くことをお勧めします。これは素晴らしい効果を生み出し、新しいポップアップは新しいコンテンツに合わせてサイズ変更されます。

例:

$('#buttonToPopup').bind('click', function(e) {  
    $('#popupDIV').bPopup().close();
    $('#popupDIV').empty();  // clear the previous contents of the popup
    $('#popupDIV').bPopup({
       loadUrl: myNewURL     // this is the new ajax content
    });
});
于 2013-04-19T15:27:20.853 に答える