我正在开发一个脚本来滚动智能手机中的页面(触摸屏幕)。我在 jQuery 和 jscrollto script中做过,但我想用纯 Javascript 来做。这是我的代码:
// ==UserScript==
// @name touchNavigation
// @namespace here
// @include http://*
// @version 0.1
// @grant none
// ==/UserScript==
document.body.addEventListener("mousedown", mouseDown);
document.body.addEventListener("mouseup", mouseUp)
var y0=0;
var y1=0;
var diferencia=0;
function mouseDown(event)
{
y0=event.clientY;
}
function mouseUp(event)
{
var i;
y1=event.clientY;
diferencia=y1-y0;
if(diferencia>0){
i=-10;
while(diferencia>0){
setTimeout(desplazamiento, 250, i);
diferencia+=i;
}
}else{
i=10;
while(diferencia<0){
setTimeout(desplazamiento, 250, i);
diferencia+=i;
}
}
}
function desplazamiento(diferencia){
window.scrollBy(0,diferencia);
}
该脚本有效。但位移是一步到位的。它应该更柔和。
这部分可能有什么问题?
if(diferencia>0){
i=-10;
while(diferencia>0){
setTimeout(desplazamiento, 250, i);
diferencia+=i;
}
}else{
i=10;
while(diferencia<0){
setTimeout(desplazamiento, 250, i);
diferencia+=i;
}
}