Modal 出现在 Chrome/Firefox 但不是 safari?
Modal appears on Chrome/Firefox but not safari?
我有一个标记为 "shoe_tag" 的 "a" 标签链接到 url,下面是以下 js 代码:
$(".shoe_tag").on('click', function() {
tpos = $(window).scrollTop() + 300;
myModal.open();
$(".scotch-modal").css({top:tpos, position:'absolute'});
});
此代码允许我在服务器响应时打开模式,这通常需要大约 4 秒。在 Chrome 和 Firefox 上,模式将在浏览器等待服务器响应时打开,但在 Safari 上不会打开模式。但是,如果我在末尾放置一个调试器语句,然后在 Web 控制台中调用 "myModal.open()",那么模式就会出现。它几乎就像 Safari 跳过这段代码,除非我在控制台中调用它。我研究基于 Safari 的东西已经一个多星期了,但我很困惑,有什么想法吗?
尝试
var tpos = $("body").scrollTop() + 300;
Webkit 浏览器始终将 window/html scrollTop 呈现为零。
我认为是浏览器渲染管线的问题,稍等片刻再显示模式试试:
$(".shoe_tag").on('click', function() {
var tpos = $(window).scrollTop() + 300;
$(".scotch-modal").css({top:tpos, position:'absolute'});
setTimeout(function(){myModal.open();}, 100);
});
定时器多次救了我的命 ;-)
我有一个标记为 "shoe_tag" 的 "a" 标签链接到 url,下面是以下 js 代码:
$(".shoe_tag").on('click', function() {
tpos = $(window).scrollTop() + 300;
myModal.open();
$(".scotch-modal").css({top:tpos, position:'absolute'});
});
此代码允许我在服务器响应时打开模式,这通常需要大约 4 秒。在 Chrome 和 Firefox 上,模式将在浏览器等待服务器响应时打开,但在 Safari 上不会打开模式。但是,如果我在末尾放置一个调试器语句,然后在 Web 控制台中调用 "myModal.open()",那么模式就会出现。它几乎就像 Safari 跳过这段代码,除非我在控制台中调用它。我研究基于 Safari 的东西已经一个多星期了,但我很困惑,有什么想法吗?
尝试
var tpos = $("body").scrollTop() + 300;
Webkit 浏览器始终将 window/html scrollTop 呈现为零。
我认为是浏览器渲染管线的问题,稍等片刻再显示模式试试:
$(".shoe_tag").on('click', function() {
var tpos = $(window).scrollTop() + 300;
$(".scotch-modal").css({top:tpos, position:'absolute'});
setTimeout(function(){myModal.open();}, 100);
});
定时器多次救了我的命 ;-)