0

スマートフォンのようにページをスクロールする(画面に触れる)スクリプトを開発しています。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);

}

スクリプトは機能します。しかし、変位は1ステップです。もっと柔らかくなるはずです。

このセクションの問題点は何でしょうか?

 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;
            }
        }
4

1 に答える 1

0

userscriptのivanは、javascriptのスクロールをソフトにするためのコードを送信しました。あなたはここで見ることができます。

http://userscripts.org/scripts/show/155832

どのように機能するかはわかりませんが、完全に機能します。

于 2013-01-13T22:29:01.910 に答える