こんにちは、jQuery、再び!
このプラグイン
のタスクは 、タッチしてドラッグすることでコンテンツをスクロールすることです。
使用されるイベントは
mousedown / move / upです。 デフォルトでは、このイベントチェーンはタッチ内のコンテンツを選択します。
実装 -痛々しいほどよく知られている
オーバーフロー:hidden 、要素のコンテンツをラップし、コンテンツを内部に移動する
未解決の問題1.場合によっては、下端と5倍の減速の交点の境界で、コンテンツは一定の間隔で上に移動します。 逆方向の移動中(この線を越える瞬間)に、コンテンツがその場所に戻る(下に移動する)ことは注目に値します。
誰かがこの記事が役に立つと、その応用を見つけることを願っています。
コメントにようこそ、私はあなたの考え、建設的で否定的な、このコードを改善することを目的とするすべてを待っています!
jsFiddleのテストベンチ (52行のコメントなしのコード)。
マークアップから始めましょう。 コンテンツを含むブロックがあります:
<div id="content"> <h2>Touch and drag content</h2> <p>Lorem ipsum dolor sit amet...</p> </div>
#content { position:absolute; left:50px; top:50px; width:500px; height:350px; text-align:justify; }
次は、各アクションの詳細な解説です。
プラグインを呼び出します:
$('#content').touchanddrag();
UPD 1-フレームの外でマウスボタンを放したときにコンテンツがスクロールし続けるバグを修正しました。 チェックを追加しました
if (e.which==1)
UPD 2 -CSSオブジェクトのキーのキャッシュを削除
data.css({cursor:'move'})