Javascript 如何在不跳到顶部的情况下锁定fancybox覆盖?
我想在fancybox打开时禁用浏览器滚动。下一个代码是:Javascript 如何在不跳到顶部的情况下锁定fancybox覆盖?,javascript,iframe,fancybox-2,Javascript,Iframe,Fancybox 2,我想在fancybox打开时禁用浏览器滚动。下一个代码是: helpers: { overlay: { locked: true } }, 但在移动设备上,打开fancybox时窗口会跳到顶部。此行为取决于locked:true参数。如何锁定覆盖层并防止跳跃 不同的决定,例如: $('html').css('overflow', 'hidden') 或 工作,但不是在所有的移动浏览器 我也不得不处理这个问题,这让我发疯了。我尝试了几乎所有的选项,搜索了stackov
helpers: {
overlay: {
locked: true
}
},
但在移动设备上,打开fancybox时窗口会跳到顶部。此行为取决于locked:true参数。如何锁定覆盖层并防止跳跃
不同的决定,例如:
$('html').css('overflow', 'hidden')
或
工作,但不是在所有的移动浏览器 我也不得不处理这个问题,这让我发疯了。我尝试了几乎所有的选项,搜索了stackoverflow上的所有问题和答案,但我的ajax lightbox似乎没有任何效果。我总是跳到顶端。然后我做了以下工作:
$(".lightboxe-fancyboxWindow").fancybox({
type : 'ajax',
href : "<?php echo $_SERVER['PHP_SELF']; ?>",
ajax: {
type: "POST",
data: {
'data1' : information1,
'data2' : information2
},
},
autoSize: false,
width: '60%',
beforeShow : function() {
$("body").css({"overflow" : "hidden", "padding-right" : "17px"});
},
afterClose: function () {
$("html, body").removeAttr("style");
},
titleShow : false,
helpers : {
overlay : {
locked : false
},
title : null
},
});
$(“.lightboxefancyboxwindow”).fancybox({
键入:“ajax”,
href:“,
阿贾克斯:{
类型:“POST”,
数据:{
“数据1”:信息1,
“数据2”:信息2
},
},
自动调整大小:false,
宽度:“60%”,
beforeShow:function(){
$(“body”).css({“overflow”:“hidden”,“padding right”:“17px”});
},
后关闭:功能(){
$(“html,body”).removeAttr(“样式”);
},
标题:假,
助手:{
覆盖:{
锁定:错误
},
标题:空
},
});
我所做的是在body标签上添加了溢出隐藏和
17px
填充假滚动条
如果您使用的是fancybox v2.1.5,那么这个问题似乎已经在最新的主控中得到了解决,您可以在这里下载表单版本:2.1.5(2013年6月14日,星期五)。这个问题还没有解决。(据我所知,主更新是从2013年10月9日开始的。我已经下载了最新版本,但存在错误。不确定这是否是同一问题,但在iOS safari中,当你移动手指时,总是会有一定量的橡皮筋滚动。如果safari的,当你滚动时底部导航可见,它会消失,但会留下一个间隙,你可以看到。)然后将下面的内容滚动到此间隙。干杯
$(".lightboxe-fancyboxWindow").fancybox({
type : 'ajax',
href : "<?php echo $_SERVER['PHP_SELF']; ?>",
ajax: {
type: "POST",
data: {
'data1' : information1,
'data2' : information2
},
},
autoSize: false,
width: '60%',
beforeShow : function() {
$("body").css({"overflow" : "hidden", "padding-right" : "17px"});
},
afterClose: function () {
$("html, body").removeAttr("style");
},
titleShow : false,
helpers : {
overlay : {
locked : false
},
title : null
},
});