tom*_*teg 14 jquery fancybox fancybox-2
我们使用fancybox2来显示图像.一切都很好,但是当更大的图像显示在fancybox中时,后面的页面会滚动到顶部.关闭fancybox后,用户必须向下滚动到打开盒子的位置.fancybox2站点上的示例不显示此行为.我无法找到,实现这一目标的区别在哪里.
fancyOptions = {
type: 'image',
closeBtn: false,
autoSize: false,
scrolling: 'no',
type: 'image',
padding: [10,10,10,10],
beforeLoad: function(){
this.title = getTitle(this);
this.href = $(this.element).closest('a').attr('href');
},
helpers: {
overlay: {
css: {
'background': 'rgba(0, 0, 0, 0.7)'
},
},
title: {
type: 'inside'
}
}
};
Run Code Online (Sandbox Code Playgroud)
我们使用fancybox2作为require.js中的模块..fancybox()调用在$(document).ready块中.
那里有2个滚动条,我用css隐藏了一个
.fancybox-overlay {
overflow: hidden !important;
}
Run Code Online (Sandbox Code Playgroud)
fas*_*xes 21
显然,改变的fancybox的CSS属性overflow
的body
元素hidden
拍摄照片时显示.这会导致背景滚动回到顶部.您所要做的就是在样式表的overflow: hidden !important;
部分.fancybox-lock
中注释出行jquery.fancybox.css
.
请参阅 fancybox2/fancybox导致页面也跳转到顶部.
Avi*_*ash 17
这对我来说很好:
在facnybox初始化中添加以下功能
beforeShow: function(){
$("body").css({'overflow-y':'hidden'});
},
afterClose: function(){
$("body").css({'overflow-y':'visible'});
}
Run Code Online (Sandbox Code Playgroud)
例:
$(".fancyBoxTrigger").fancybox({
maxWidth : 820,
maxHeight : 670,
fitToView : false,
width : 760,
height : 580,
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
padding : 10,
closeBtn : false,
beforeShow: function(){
$("body").css({'overflow-y':'hidden'});
},
afterClose: function(){
$("body").css({'overflow-y':'visible'});
},
helpers : {
overlay : {
opacity: 0.4,
locked: false
}
}
});
Run Code Online (Sandbox Code Playgroud)
我希望它对你有用.
小智 0
你可以尝试这个:-
beforeShow: function(){
$("body").css({'overflow-y':'hidden'});
},
afterClose: function(){
$("body").css({'overflow-y':'visible'});
}
Run Code Online (Sandbox Code Playgroud)
当 fancybox 打开时,它会停止父页面上的垂直滚动。