Modal出现在Chrome / Firefox上,但没有出现在Safari中?

时间:2015-06-07 18:16:33

标签: javascript jquery google-chrome safari

我有一个" a"标记为" shoe_tag"链接到网址,以及下面的以下js代码:

$(".shoe_tag").on('click', function() {

    tpos = $(window).scrollTop() + 300;
    myModal.open();
    $(".scotch-modal").css({top:tpos, position:'absolute'});


});

此代码允许我在服务器响应时打开模态,通常需要大约4秒。在Chrome和Firefox上,模式将在浏览器等待服务器响应时打开,但在Safari上没有模态打开。但是,如果我在最后放置调试器语句,则调用" myModal.open()"在Web控制台中,然后将出现模式。它几乎像Safari跳过这段代码,除非我在控制台中调用它。我已经研究了基于Safari的东西超过一个星期而且难倒了,有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我认为浏览器的渲染管道存在问题,请在短时间内尝试显示模式:

$(".shoe_tag").on('click', function() {

    var tpos = $(window).scrollTop() + 300;
    $(".scotch-modal").css({top:tpos, position:'absolute'});
    setTimeout(function(){myModal.open();}, 100);

});

计时器多次挽救了我的生命; - )

答案 1 :(得分:0)

var tpos = $("body").scrollTop() + 300;

Webkit浏览器总是将window / html scrollTop渲染为零。

相关问题