我不知道是否有人熟悉bPopup,但这里什么都没有。
我有一个运行的AJAX请求,如果成功,它会将新内容加载到弹出窗口中,从而更改大小,在此之后,我如何正确地重新居中div?
我曾尝试运行重居中函数,但在尝试运行该函数时出现错误“未捕获ReferenceError:未定义bPopup”:
bPopup.recenter();有什么想法吗?
谢谢你们!
发布于 2013-04-19 23:27:21
是的,我也遇到过类似的情况。加载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
});
});发布于 2016-04-11 06:12:43
触发$(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(); */
});
});https://stackoverflow.com/questions/15867023
复制相似问题