菜鸟教程小白 发表于 2022-12-12 12:14:28

android - 悬停时检测scrollTop()(手持设备)


                                            <p><p>我将 jQuery 的 scrollTop() 用于固定菜单:</p>

<pre><code>function fixed_menu(){

    if( $(&#39;window&#39;).width() &lt; 770 )
    {
      var menu = $(&#39;.col-left.sidebar&#39;);
      var offset = menu.offset();
      var trigger = offset.top;

      $(document).scroll(function(e){
            if($(&#39;body&#39;).scrollTop() &gt;= trigger){
                menu.addClass(&#39;fixed&#39;);
            } else if ($(&#39;body&#39;).scrollTop() &lt; trigger){
                menu.removeClass(&#39;fixed&#39;);
            }
      });
    }

}
fixed_menu();
</code></pre>

<p>当我在自己的手机(Android 设备,Moto G 2nd gen)上进行测试时,if 语句在滚动时仍然有效。</p>

<p>当我在 iPad mini 上进行测试时,if 语句仅在悬停完成时启动。</p>

<p>如何使此功能在某些 iOS 设备上运行,同时悬停仍在进行中?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><code>scrollTop()</code> 函数在不同浏览器中存在问题。您可以尝试使用 <code>$('html, body').scrollTop()</code> 和 <code>$(window).scroll()</code></p>

<pre><code>function fixed_menu(){
    if( $(&#39;window&#39;).width() &lt; 770 ){
      var menu = $(&#39;.col-left.sidebar&#39;);
      var offset = menu.offset();
      var trigger = offset.top;

      $(window).scroll(function(e){
            if($(&#39;html, body&#39;).scrollTop() &gt;= trigger){
                menu.addClass(&#39;fixed&#39;);
            } else if ($(&#39;html, body&#39;).scrollTop() &lt; trigger){
                menu.removeClass(&#39;fixed&#39;);
            }
      });
    }
}
fixed_menu();
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于android - 悬停时检测scrollTop()(手持设备),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/39978784/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/39978784/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - 悬停时检测scrollTop()(手持设备)