我正在尝试在 ios 中滚动时执行 javascript。我能想到的唯一方法就是这样。但是,我试图让它在单击 div 时停止并开始滚动,但是当我将它放在 onClick 函数中时它将不起作用。
$('#pause').click(function(){
function doScroll(){
$('body').scrollTop($('body').scrollTop() + 20);
}
setInterval(doScroll, 50);
});
我正在尝试在 ios 中滚动时执行 javascript。我能想到的唯一方法就是这样。但是,我试图让它在单击 div 时停止并开始滚动,但是当我将它放在 onClick 函数中时它将不起作用。
$('#pause').click(function(){
function doScroll(){
$('body').scrollTop($('body').scrollTop() + 20);
}
setInterval(doScroll, 50);
});
为什么不只是:
var t;
var scrolling = false;
function doScroll() {
$('body').scrollTop($('body').scrollTop() + 20);
}
$('#pause').on('click',function(){
scrolling = !scrolling;
if(!scrolling){
clearInterval(t);
return;
}
t = setInterval(doScroll, 50);
});
这将打开和关闭滚动。您可能需要添加一些代码来检查滚动结束的时间。
document.getElementById( 'pause').addEventListener( "click" , function(){
if( window.scrollTimerId ){
window.clearInterval(window.scrollTimerId );
window.scrollTimerId = null
}
else{
doScroll();
window.scrollTimerId= window.setInterval( doScroll , 50);
}
});
function doScroll(){
window.scrollBy(0,5);
}