モバイル端末に指をスライドさせるカルーセルをjsで実装する方法
以下に、モバイル端末上で指をスライドさせるカルーセル効果の JS ネイティブ実装の例を紹介します。これは良い参考値であり、皆さんの役に立つことを願っています。
以下に示すように:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <title>Document</title> </head> <style> html{height:100%;} body{width: 100%;height:100%;margin:0;overflow: hidden;} .wrap{position: relative;overflow: hidden;} .box{position: absolute;list-style: none;left:0;top:0;padding:0;margin:0;} .box li{float:left;} .box{ position: relative; height: 2000px; width: 100%; top: 0; bottom: 0; left: 0; right: 0; background: red; } .box1{ height: 2000px; } .box2{ background: yellow; } .box3{ background: yellowgreen; } .box4{ background: orange; } .box5{ background: cyan; } </style> <body> <p class="wrap"> <ul class="box"> <li><p class="box1 box2">11111</p></li> <li><p class="box1 box3">2222</p></li> <li><p class="box1 box4">3333</p></li> <li><p class="box1 box5">4444</p></li> </ul> </p> <script> var aLi = document.querySelectorAll(".box li"); var box = document.querySelector('.box'); var wrap = document.querySelector('.wrap'); var aLiWidth = box.offsetWidth; console.log('aLiWidth: ' + aLiWidth) wrap.style.height = aLi[0].offsetHeight + 'px'; // 设置盒子的宽度 box.style.width = aLi.length*100 + '%'; for(var i=0;i<aLi.length;i++){ aLi[i].style.width = 1/aLi.length * 100 + '%'; }; // 初始化手指坐标点 var startPoint = 0; var startEle = 0; //手指按下 wrap.addEventListener("touchstart",function(e){ startPoint = e.changedTouches[0].pageX; startEle = box.offsetLeft; }); //手指滑动 wrap.addEventListener("touchmove",function(e){ var currPoint = e.changedTouches[0].pageX; var disX = currPoint - startPoint; var left = startEle + disX; box.style.left = left + 'px'; }); //当手指抬起的时候,判断图片滚动离左右的距离,当 wrap.addEventListener("touchend",function(e){ var left = box.offsetLeft; // 判断正在滚动的图片距离左右图片的远近,以及是否为最后一张或者第一张 var currNum = Math.round(-left/aLiWidth); currNum = currNum>=(aLi.length-1) ? aLi.length-1 : currNum; currNum = currNum<=0 ? 0 : currNum; box.style.left = -currNum*wrap.offsetWidth + 'px'; }) </script> </body> </html>
上記は、私が皆さんのためにまとめたものです。将来的に皆さんのお役に立てれば幸いです。
関連記事:
JavaScriptで高パフォーマンスなロードシーケンスを実装する方法
Vue+Flaskを使用してログイン検証ジャンプを実装する方法(詳細なチュートリアル)
react-reduxにおけるconnectデコレータの使い方について
以上がモバイル端末に指をスライドさせるカルーセルをjsで実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

モバイル開発では、複数指のタッチの問題によく遭遇します。ユーザーがモバイル デバイス上で複数の指を使用して画面をスワイプまたはズームする場合、これらのジェスチャをどのように正確に認識して応答するかは、開発上の重要な課題です。 Vue 開発では、モバイル端末の複数指タッチの問題を解決するためにいくつかの対策を講じることができます。 1. vue-touch プラグインを使用する vue-touch は、モバイル側で複数指のタッチ イベントを簡単に処理できる Vue 用のジェスチャ プラグインです。 npm 経由で vue-to をインストールできます

Vue プロジェクトでモバイル ジェスチャ操作を使用する方法 モバイル デバイスの普及に伴い、モバイル端末上でよりフレンドリーなインタラクティブ エクスペリエンスを提供する必要があるアプリケーションがますます増えています。ジェスチャー操作はモバイルデバイスで一般的なインタラクション方法の 1 つで、ユーザーが画面にタッチするだけでスライドやズームなどのさまざまな操作を完了できるようになります。 Vue プロジェクトでは、サードパーティ ライブラリを通じてモバイル ジェスチャ操作を実装できます。以下では、Vue プロジェクトでのジェスチャ操作の使用方法と具体的なコード例を紹介します。まず、特別な機能を導入する必要があります

WeChat アプレットを使用してカルーセル スイッチング効果を実現する WeChat アプレットは、シンプルで効率的な開発と使用特性を備えた軽量のアプリケーションです。 WeChat ミニ プログラムでは、カルーセル スイッチング効果を実現することが一般的な要件です。この記事では、WeChat アプレットを使用してカルーセル切り替え効果を実現する方法と、具体的なコード例を紹介します。まず、カルーセル コンポーネントを WeChat アプレットのページ ファイルに追加します。たとえば、<swiper> タグを使用すると、カルーセルの切り替え効果を実現できます。このコンポーネントでは、 b を渡すことができます。

HTML と CSS を使用してレスポンシブなカルーセル レイアウトを作成する方法 カルーセルは、最新の Web デザインの一般的な要素です。ユーザーの注意を引いたり、複数のコンテンツや画像を表示したり、自動的に切り替えたりすることができます。この記事では、HTMLとCSSを使ってレスポンシブカルーセルレイアウトを作成する方法を紹介します。まず、基本的な HTML 構造を作成し、必要な CSS スタイルを追加する必要があります。以下は単純な HTML 構造です: <!DOCTYPEhtml&g

JavaScript ではカルーセル画像の自動再生機能をどのように実装しているのでしょうか?インターネットの急速な発展に伴い、カルーセル画像は Web デザインで一般的に使用される要素の 1 つになりました。カルーセル画像は、複数の画像をユーザーに表示できるだけでなく、自動再生機能によってユーザー エクスペリエンスを向上させることもできます。 JavaScriptはカルーセルの自動再生機能を実現するための重要なツールの一つです。この記事では、JavaScript でカルーセル画像の自動再生機能を実装する方法と、対応するコード例を紹介します。まず、基本的なものを準備する必要があります

Web アプリケーションの人気に伴い、カルーセルと回転ドアはフロントエンド ページに不可欠なコンポーネントになりました。 Vue は、カルーセルや回転ドアの実装など、すぐに使える多くのコンポーネントを提供する人気の JavaScript フレームワークです。この記事では、Vue で回転ランタンとカルーセルを実装するためのテクニックとベスト プラクティスを紹介します。 Vue.js の組み込みコンポーネントの使用方法、カスタム コンポーネントの作成方法、アニメーションと CSS を組み合わせてカルーセルとカルーセルをより魅力的にする方法について説明します。

モバイル デバイスの普及に伴い、モバイル開発に Vue を使用することが一般的な選択肢になりました。ただし、モバイル開発中には、ダブルクリックしてズームインするという問題に直面することがよくあります。この記事では、この問題に焦点を当て、Vue 開発におけるモバイル端末でのダブルクリック増幅の具体的な解決方法について説明します。モバイル デバイスでのダブルクリック拡大の問題は、主に、タッチ スクリーンをダブルクリックすると、モバイル デバイスが Web ページのズーム率を自動的に拡大するために発生します。一般的な Web 開発では、この種のダブルクリックによる拡大は通常有益です。

Vue を使用してクールなカルーセル グラフィックを実装する方法. モバイル インターネットの発展に伴い、カルーセル グラフィックは Web デザインの一般的な要素になりました. 限られたスペースに複数の画像やコンテンツを表示できるため、ユーザーの視覚体験と情報伝達が向上します。 。 Vue では、簡単なコードでクールなカルーセル チャートを実装できますが、この記事では、Vue を使用してこの効果を実現する方法を紹介します。まず、Vue プロジェクトを作成し、vue-awesome-swiper プラグインをインストールする必要があります。 vue-awesome-swi
