android - 悬停时检测scrollTop()(手持设备)
<p><p>我将 jQuery 的 scrollTop() 用于固定菜单:</p>
<pre><code>function fixed_menu(){
if( $('window').width() < 770 )
{
var menu = $('.col-left.sidebar');
var offset = menu.offset();
var trigger = offset.top;
$(document).scroll(function(e){
if($('body').scrollTop() >= trigger){
menu.addClass('fixed');
} else if ($('body').scrollTop() < trigger){
menu.removeClass('fixed');
}
});
}
}
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( $('window').width() < 770 ){
var menu = $('.col-left.sidebar');
var offset = menu.offset();
var trigger = offset.top;
$(window).scroll(function(e){
if($('html, body').scrollTop() >= trigger){
menu.addClass('fixed');
} else if ($('html, body').scrollTop() < trigger){
menu.removeClass('fixed');
}
});
}
}
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]