Fancybox 背景滚动与 .open()
Fancybox background scroll with .open()
我有一个向导类型的工作流程,与 fancyboxes 一起使用,让它们显示并从一个到另一个工作正常。我这样打开第一个:
$('a.fancybox').fancybox();
在 html 中,我只是在 fancybox 中有一个锚标记,其中包含我想要的锚 ID。
当我从第一个盒子移动到第二个盒子时出现问题,在服务器响应后我打开了第二个盒子:
$.fancybox.open({ href: '#divIwantAsFancybox' });
这可以很好地打开 fancybox,但在这种情况下,后台页面会滚动到第一个框上没有的位置。我检查了由 fancybox 生成的内联 css 和 html 并确定唯一重要的区别(可能)是当使用 .open()
时,我想要的内容不再呈现在 div 与 class fancybox-overlay。在浏览器中手动将代码移动到 div 中或多或少会导致 fancybox 无法使用。我在这里不知所措,不知道如何指示 fancybox 在不滚动背景的情况下打开第二个框。
PS:我已经尝试了 css 在 beforeShow 和 afterClose 中设置 overflow: hidden
的 hack,虽然这对我在浏览器上有效,但在一个移动浏览器。出于这个问题的目的,我现在想坚持使用网络解决方案,但可能会避免这种黑客攻击,因为我知道它在移动浏览器上对我不起作用。
提前致谢。
所以经过几个小时的挖掘,我发现其他一些人在使用 overflow: hidden
技巧,但在 body 而不是其中一个 fancybox div 上。无论何时调用 $.fancybox()
或 $.fancybox.open()
,都可以像这样传入回调函数:
$.fancybox({ beforeShow: function() {
$('body').css({'overflow':'hidden'});
}, afterClose: function() {
$('body').css({'overflow':'visible'});
}});
但是,如果有人知道更好的处理方法,请随时补充您的两分钱,因为在我看来,这是 fancybox 的一个错误。我希望调用 $.fancybox.open()
的行为与使用 $('a.fancybox').fancybox()
引用锚点的方式相同。
我有一个向导类型的工作流程,与 fancyboxes 一起使用,让它们显示并从一个到另一个工作正常。我这样打开第一个:
$('a.fancybox').fancybox();
在 html 中,我只是在 fancybox 中有一个锚标记,其中包含我想要的锚 ID。
当我从第一个盒子移动到第二个盒子时出现问题,在服务器响应后我打开了第二个盒子:
$.fancybox.open({ href: '#divIwantAsFancybox' });
这可以很好地打开 fancybox,但在这种情况下,后台页面会滚动到第一个框上没有的位置。我检查了由 fancybox 生成的内联 css 和 html 并确定唯一重要的区别(可能)是当使用 .open()
时,我想要的内容不再呈现在 div 与 class fancybox-overlay。在浏览器中手动将代码移动到 div 中或多或少会导致 fancybox 无法使用。我在这里不知所措,不知道如何指示 fancybox 在不滚动背景的情况下打开第二个框。
PS:我已经尝试了 css 在 beforeShow 和 afterClose 中设置 overflow: hidden
的 hack,虽然这对我在浏览器上有效,但在一个移动浏览器。出于这个问题的目的,我现在想坚持使用网络解决方案,但可能会避免这种黑客攻击,因为我知道它在移动浏览器上对我不起作用。
提前致谢。
所以经过几个小时的挖掘,我发现其他一些人在使用 overflow: hidden
技巧,但在 body 而不是其中一个 fancybox div 上。无论何时调用 $.fancybox()
或 $.fancybox.open()
,都可以像这样传入回调函数:
$.fancybox({ beforeShow: function() {
$('body').css({'overflow':'hidden'});
}, afterClose: function() {
$('body').css({'overflow':'visible'});
}});
但是,如果有人知道更好的处理方法,请随时补充您的两分钱,因为在我看来,这是 fancybox 的一个错误。我希望调用 $.fancybox.open()
的行为与使用 $('a.fancybox').fancybox()
引用锚点的方式相同。