我正在使用一个$(窗口)。滚动事件触发功能在我的网站上,一切都很好,只是它不工作的移动的设备。
这是我正在使用的代码:
$(window).scroll(function(){
var wh = $(window).height();
var scrolledFromtop = $(window).scrollTop();
if( scrolledFromtop > wh ){
$('html').addClass('scrolled');
}else{
$('html').removeClass('scrolled');
}
});
我也尝试了以下代码,但没有成功:
document.addEventListener("touchmove",aaa, false);
function aaa(){
var wh = $(window).height();
var scrolledFromtop = $(window).scrollTop();
if( scrolledFromtop > (wh) ){
$('html').addClass('scrolled');
}
else {
$('html').removeClass('scrolled');
}
};
有人能帮我吗?
1条答案
按热度按时间jei2mxaa1#
某些(?)移动的浏览器只是在卷动完全停止之前,不会引发事件。
您可以尝试以下几种方法来解决此问题:
1.使用设置间隔
1.使用触摸事件
1.另一个解决方案是完全禁用本机滚动,而是使用JavaScript来模拟滚动。
$('window').on('touchmove', function(event) { //Prevent the window from being scrolled. event.preventDefault();
你可以找到更多关于这一点,在这篇伟大的文章:
http://tjvantoll.com/2012/08/19/onscroll-event-issues-on-mobile-browsers/