1

我有一个加载 AJAX 内容的 Fancybox 对话框。用户可以单击“+”在里面添加一行。随着行的增加,对话框变得比屏幕尺寸大。出现滚动条,但对话框无法向下滚动,它一直向上滚动。

我该如何解决?

4

1 回答 1

0

对不起各位,我的错。为了将来参考,这里是修复。

永远不要尝试动态更新和重新定位您的 Fancybox。

我试过的

$('#stuff').fancybox({
    ... stuff
    onUpdate: function() {
        $.fancybox.update();
        $.fancybox.reposition();
    }
});

最终,在每次更新时,Fancybox 都应该居中并重新定位。

然而!实际上,它尝试每隔几毫秒执行一次。这会导致 Chrome 的检查器在 Fancybox 处于活动状态时冻结,并且还会导致滚动失败(它会在您尝试滚动时不断尝试更新大小/位置导致失败)。

正确的方法

每次您希望手动更改尺寸时更新。

  • 更改对话框内容时(如果是 AJAX)
  • 显示内部错误或在内部添加新 div 时
  • ETC
于 2013-04-24T15:21:13.650 回答