[英]Prevent body from scrolling when an overlay is opened, without jump to top, without left/right jumping?
[英]How lock fancybox overlay without jumping to the top?
我想在打開fancybox時禁用瀏覽器滾動。 下一個代碼有效:
helpers: {
overlay: {
locked: true
}
},
但是在打開花式盒子時,移動設備上的窗口會跳到頂部。 此行為取決於鎖定:真實參數。 如何鎖定覆蓋層並防止跳躍?
不同的決定,例如:
$('html').css('overflow', 'hidden')
要么
$(document.body).bind('touchmove', function(e) {
e.preventDefault();
e.stopPropagation();
e.returnValue = false;
});
可以使用,但不適用於所有移動瀏覽器!
我還必須處理這個問題,這使我發瘋。 我幾乎嘗試了所有選項,搜索了關於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
},
});
我要做的是為body fake-scrollbar
添加隱藏在body標簽上的溢出和17px
填充。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.