Javascript 如何使lightbox在iOS上可滚动?
我知道这个问题在这里讨论过很多次,但我没有找到一个真正有帮助的答案 我有一个带有is代码的灯箱: Html 和JS:Javascript 如何使lightbox在iOS上可滚动?,javascript,jquery,ios,safari,lightbox,Javascript,Jquery,Ios,Safari,Lightbox,我知道这个问题在这里讨论过很多次,但我没有找到一个真正有帮助的答案 我有一个带有is代码的灯箱: Html 和JS: //Declare vars var $lightboxAnchor = $("a.list_message"); //Lightbox $(".overlay-background").hide(); ///-------------------------------------- //Lightbox //--------------------------------
//Declare vars
var $lightboxAnchor = $("a.list_message");
//Lightbox
$(".overlay-background").hide();
///--------------------------------------
//Lightbox
//--------------------------------------
$(".overlay-background").hide();
//Lightbox functions from leistungen
$lightboxAnchor.click(function(){
var $attr = $(this).attr("href").replace("#", "");
console.log($attr);
$('div[id=' + $attr + ']').show();
$("body").addClass("noscroll");
$("html").addClass("noscroll");
$(".overlay-content").addClass("scroll");
});
//Lightbox overlay
$(".overlay-background").click(function(){
console.log('alert');
$(this).hide();
$("body").removeClass("noscroll");
$("html").removeClass("noscroll");
$(".overlay-content").removeClass("scroll");
});
除了iOS设备,在Safari上,我的lightbox根本不滚动,其他一切都能正常工作
我已经在Safari上的Mac设备上进行了测试,效果良好。
你能帮帮我吗?解决这个问题对我来说非常重要
多谢各位
下面是一个JSFIDLE,代码为:我找到了解决问题的方法,而不是使用“object”标记:
以下是一个例子:
.noscroll {
overflow: hidden;
overflow-y: hidden;
height: 100%;
}
.scroll {
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
.overlay-background {
display: block;
position: absolute;
top: 0;
left: 0;
height:100vh;
width: 100vw;
z-index: 1000; /* high z-index */
background: #000; /* fallback */
background: rgba(33, 72, 144, .8);
}
.overlay-content
{
display: block;
background: rgba(33, 72, 144, .9);
width: 95vw;
height: 80vh;
position: absolute;
top: 10vh;
left: 2.5vw;
margin: 0 0 0 0;
cursor: default;
z-index: 1001;
box-shadow: 0 0 5px rgba(33, 72, 144, .7);
}
//Declare vars
var $lightboxAnchor = $("a.list_message");
//Lightbox
$(".overlay-background").hide();
///--------------------------------------
//Lightbox
//--------------------------------------
$(".overlay-background").hide();
//Lightbox functions from leistungen
$lightboxAnchor.click(function(){
var $attr = $(this).attr("href").replace("#", "");
console.log($attr);
$('div[id=' + $attr + ']').show();
$("body").addClass("noscroll");
$("html").addClass("noscroll");
$(".overlay-content").addClass("scroll");
});
//Lightbox overlay
$(".overlay-background").click(function(){
console.log('alert');
$(this).hide();
$("body").removeClass("noscroll");
$("html").removeClass("noscroll");
$(".overlay-content").removeClass("scroll");
});
<object type="text/html" data="https://en.wikipedia.org/wiki/Dentist" style="width: 100%; height: 100%;" </object>
iframe src="https://en.wikipedia.org/wiki/Dentist" width: 100%; height: 100%;></iframe>