我不知道是否有人熟悉 bPopup 但这里什么都没有。
我有一个运行的 AJAX 请求,成功后它将新内容加载到弹出窗口中,从而改变了大小,在此之后我将如何正确地重新居中 div?
我尝试运行重新居中功能,但是在尝试运行这样的功能时出现错误“未捕获的 ReferenceError:bPopup 未定义”:
bPopup.recenter();
有任何想法吗?
多谢你们!
我不知道是否有人熟悉 bPopup 但这里什么都没有。
我有一个运行的 AJAX 请求,成功后它将新内容加载到弹出窗口中,从而改变了大小,在此之后我将如何正确地重新居中 div?
我尝试运行重新居中功能,但是在尝试运行这样的功能时出现错误“未捕获的 ReferenceError:bPopup 未定义”:
bPopup.recenter();
有任何想法吗?
多谢你们!
是的,我也有类似的情况。加载 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
});
});
触发$(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(); */
});
});