菜鸟教程小白 发表于 2022-12-11 19:02:49

javascript - jquery 脚本在桌面上工作,但在 iphone 上滞后


                                            <p><p>我试图在我的网站上实现一个 div,当它滚动出视口(viewport)时,它就会粘在浏览器的顶部。我发现了一个非常好的脚本,它在桌面上运行良好。当我在 iphone 上测试它时,我有一个短暂的延迟,其中 div 滚动了大约半秒,然后在所需位置弹出。有人知道我可以如何调整该脚本吗?</p>

<p>这里是链接:<a href="https://jsfiddle.net/livibetter/HV9HM/" rel="noreferrer noopener nofollow">jsFiddle</a> </p>

<p>感谢您的帮助!</p>

<pre><code>function sticky_relocate() {
            var window_top = $(window).scrollTop();
            var div_top = $(&#39;#sticky-anchor&#39;).offset().top;
            if (window_top &gt; div_top) {
                $(&#39;#sticky&#39;).addClass(&#39;stick&#39;);
                $(&#39;#sticky-anchor&#39;).height($(&#39;#sticky&#39;).outerHeight());
            } else {
                $(&#39;#sticky&#39;).removeClass(&#39;stick&#39;);
                $(&#39;#sticky-anchor&#39;).height(0);
            }
      }

      $(function() {
            $(window).scroll(sticky_relocate);
            sticky_relocate();
      });
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>也许您可以使用 <code>setTimeout</code> 并在多次调用滚动时清除间隔。这可能有助于限制回调被调用的次数。</p>

<pre><code>$(function() {
var timer;
$(window).scroll(function() {
    clearInterval(timer);
    timer = setTimeout(function() {
      sticky_relocate();
    }, 50);
});
sticky_relocate();
});
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于javascript - jquery 脚本在桌面上工作,但在 iphone 上滞后,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/42375730/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/42375730/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: javascript - jquery 脚本在桌面上工作,但在 iphone 上滞后