我使用的是Fancybox JQuery插件,但由于我的html
和body
CSS属性而遇到问题。目前,overflow-y
属性设置为scroll
,试图隐藏调整页面长度的紧张动画。使用BeforeShow/BeforeClose隐藏FancyBox中的第二个滚动条
由于Fancybox正在调用第二个HTML元素(我认为),当调用第二个滚动条时会出现第二个滚动条,这又会导致一个动作或动画效果。
我试图使用Fancybox的beforeShow
和beforeClose
回调来解决这个问题,它似乎在某些方面是有效的。
beforeShow
回调无缝工作,因为当调用Fancybox时,不会出现第二个滚动条。但是,beforeClose
回调函数确实返回原始滚动属性,但会出现一个小的“点”,导致屏幕抖动,并且所有身体元素都会调整大小/重新塑形,就好像有一秒钟滚动条开始。
我不知道为什么会发生这种情况,因为技术上没有第二个滚动条,但关闭Fancybox的行为就好像有。是否有我可以修改的CSS规则,或者不同的回调来防止这种情况?
我的fancybox脚本:
jQuery('.fancyboox').fancybox({
fitToView : false,
width : '90%',
height : '90%',
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
beforeShow : function() {
$('body, html').css('overflowY','hidden');
},
afterClose : function() {
$('body, html').css('overflowY','auto');
}
});
仿效同样的效果的演示 - http://jsfiddle.net/NVHWw/ - 如果你会发现,第二滚动条出现,然后在关闭灯箱很快消失。
非常感谢,SO。非常感激。
真棒响应。感谢您的输入! – RCNeil 2013-02-12 15:11:59