html5タッチイベントでタッチスクリーンページの上下スライドを実現(1)_html5チュートリアルスキル

WBOY
リリース: 2016-05-16 15:51:36
オリジナル
2208 人が閲覧しました

私が最近取り組んでいたアプリプロジェクトでは、overflow:hidden の使用により多くの問題が発生したため、HTML5 の touch イベントについて研究することにしました。包括的な投稿を見つけるのは困難です。HTML5 タッチに関する記事は数多くありますが、そのほとんどはタッチ イベントや非常に短いデモを紹介しています。
上下にスライドする比較的包括的な小さなデモで、コードは比較的単純です。

以下は、いくつかの重要な場所を赤でマークした完全なコードです

XML/HTML コードコンテンツをクリップボードにコピー
  1. >
  2. <html lang="en" >
  3. <>
  4. <メタ charset="UTF- 8">
  5. <メタ 名前="ビューポート" コンテンツ="width=device-width,initial-scale=1 user-scalable=0" />
  6. <タイトル>2014-4-29タイトル>
  7. <スタイル>
  8. * {margin: 0;  パディング: 0;}
  9. #outer{ width:90%; 高さ: 490ピクセル; 背景: #000; マージン: 自動;  オーバーフロー: 非表示;}
  10. #inner{width:80%; 高さ: 2000ピクセル; 背景: #f67d42; マージン: 自動; 位置:相対; トップ:0;  }  
  11. スタイル>
  12. <script src='jquery- 1.9.1.min.js'>スクリプト>
  13. >
  14. <ボディ>
  15. <div id="spText" >div>
  16. <div id="アウター" >
  17. <div id="inner" >
  18. 123<br> 123<br> ギャグ<br> af <br> 123br> 123<br> 123<br> 123<br> 123 <br> 123br> 123<br> 123<br> 123<br> 123 <br> 123br> yryyr<br> ryry<br> 123<br> 123 <br> 123br> 123<br> 123<br> sdff<br> fef <br> 123br> hr<br> hrh<br> 5y<br> 123 <br>えー<br> ert<br> 123<br> rgdgdg<br> 123 <br> 123br> 123<br> 123<br> 123<br> 123 <br> gfgfgfgfgfgf<br> sdsdsdsdsdsd<br> sf<br> 123<br> 123<br > 123<br> 123< br> 123<br> 123<br> 123<br > 123<br> gdggdgdg< br> 123<br> drgdrgd<br> 123<br > 123<br> 123< br> yuyuyuyuyuy<br> hjkhjkhkhkhjkhkh<br> kjkjk<br >123<br> 123< br> ギャグ<br> af<br> 123<br > 123<br> 123< br> 123<br> 123<br> 123<br > 123<br> 123< br> 123<br> 123<br> 123<br > yryyr<br> ryry< br> 123<br> 123<br> 123<br > 123<br> 123< br> sdff<br> fef<br> 123<br> 時間<br > hrh<br> 5y< br> 123<br> er<br> ert<br > 123<br> rgdgdg< br> 123<br> 123<br> 123<br > 123<br> 123< br> 123<br> gfgfgfgfgfgf<br> sdsdsdsdsdsd<br > sf<br> 123< br> 123<br> 123<br> 123<br > 123<br> 123< br> 123<br> 123<br> gdggdgdg<br > 123<br> drgdrgd< br> 123<br> 123<br> 123<br > yuyuyuyuyuy<br> hjkhjkhkhkhjkhkh< br> kjkjk<br>
  19. div>
  20. div>
  21. <スクリプト>
  22. var startX, //タッチ時の座標
  23. startY、
  24. x, //スライド距離
  25. はい、
  26. aboveY=0 // 最後の内部ブロック スライドの位置を記録するグローバル変数を設定します。
  27. var inner=ドキュメント.getElementById("inner");
  28. 関数 touchSatrt(e){//touch
  29. e.preventDefault();
  30. var
  31. touch
  32. =e.touches[0]; 🎜>
  33. 関数 touchMove(e){//Slide e.preventDefault();
  34. var
  35. touch
  36. =
  37. e
  38. .touches[0];
  39. y
  40. =
  41. touch
  42. .pageY - startY;// スライド距離 //inner.style.webkitTransform =
  43. 'translate('
  44. 0 'px, ' y 'px )'; //css3 も使用できます。 inner.style.top=aboveY
  45. y "px"; //この文の AboveY は最後のスライド後のインナーの位置
  46. }
  47. function touchEnd(e){//指が画面から離れる
  48. e.preventDefault();
  49. aboveY=parseInt(inner.style.top);// タッチ後の内部スライダーを記録するスライド位置はグローバル変数に反映されるため、parseInt(); を使用して整数に変換する必要があります。
  50. }//
  51. document.getElementById("outer").addEventListener('touchstart', touchSatrt,false);
  52. document.getElementById("outer").addEventListener('touchmove', touchMove,false);
  53. document.getElementById("outer").addEventListener('touchend', touchEnd,false);
  54. スクリプト>
  55. ボディ>
  56. html>
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

原文:

http://www.cnblogs.com/leinov/p/3701951.html

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!