退出模态后如何重新激活滚动?
http://1ne-studio.com/test2/index.html id:测试 通过:2015
有一个链接可以在灰色子标题的右上角打开模态。
我通过在正文中添加类
来禁用模态打开时body
上的滚动
<script type="text/javascript">
$("#modal-name").mouseenter(function(){
$("body").css("overflow", "hidden");
$("body").addClass("modal-open");
}).mouseleave(function(){
$("body").removeClass("modal-open");
$("body").attr("overflow", "auto");
$("body").focus();
});
</script>
并禁用fsvs.js
中的视差滚动(控制slideDown和Up)
slideDown : function(e) {
if ($("body").hasClass("modal-open")) { return false; }
if( app.canSlideDown() ) {
ignoreHashChange = true;
app.slideToIndex( (currentSlideIndex+1), e );
} else {
scrolling = false;
}
},
/**
* [slideUp description]
* @return {[type]} [description]
*/
slideUp : function(e) {
if ($("body").hasClass("modal-open")) { return false; }
if( app.canSlideUp() ) {
ignoreHashChange = true;
app.slideToIndex( (currentSlideIndex-1), e );
} else {
scrolling = false;
}
},
但是从模态退出后,滚动将不会重新开启..
有没有办法解决这个问题?
答案 0 :(得分:0)
我最终找到了答案..!
我仔细研究了这个问题并找到了解决方法。 这不是最好的解决方案,因为我还没有真正找到导致这个问题的实际问题的解决方案..但这确实给了我想要的结果。
我发现退出模态后,有一种方法可以解决这个视差问题,它点击了右侧的分页按钮。
所以我创造了
var e = new jQuery.Event("click");
e.offsetX = 100;
e.offsetY = 100;
$('#fsvs-pagination li.active').trigger(e);
这将使浏览器认为我点击了pagenation按钮并将重新激活视差。
我还没有检查过每个浏览器,但这可能解决了这个问题。
感谢您的支持,如果您找到了更好的解决方案,请与我们联系。