如何防止div在iOS上滚动到顶部

时间:2014-02-15 18:49:49

标签: javascript ios css

我基本上是想在iOS上完成这项工作:http://jsfiddle.net/xtyus/1/

滚动应该会导致div堆叠在顶部。

$(window).scroll(function(){
    /* get the current scroll position */
    var st = $(window).scrollTop();

    /* change classes based on section positions */
    if (st >= d1orgtop) {
        d1.addClass('latched');
    } else {
        d1.removeClass('latched');
    }
    if (st >= d2orgtop) {
        d2.addClass('latched');
    } else {
        d2.removeClass('latched');
    }
    if (st >= d3orgtop) {
        d3.addClass('latched');
    } else {
        d3.removeClass('latched');
    }
    if (st >= d4orgtop) {
        d4.addClass('latched');
    } else {
        d4.removeClass('latched');
    }
});

问题是在iOS上,DOM操作在滚动事件期间被冻结(根据iOS Javascript DOM "Freezing?")。这意味着在用户停止滚动之后才会将位置设置为固定(通过添加“锁定”类)。这会在iOS上导致不必要的行为。 div基本上从顶部滚动,然后一旦添加了锁定类,它就会跳回。

这个问题有一个很好的解决方法吗?

0 个答案:

没有答案
相关问题