Videojs+swiper が Taobao の商品詳細カルーセルを実現

Videojs+swiper が Taobao の商品詳細カルーセルを実現

この記事では、Taobao商品詳細のカルーセルを実現するためのvideojs+swiperの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

これは videojs と swiper を参照します。この効果は、Taobao の商品詳細のカルーセル画像に似ており、最初のカルーセルはビデオです。
ビデオの再生が始まると、カルーセルは停止します。ビデオを一時停止しても、カルーセルは続行されます。
ビデオの再生中に次のスライドにスライドすると、ビデオは一時停止します。

スワイパーマニュアル

HTML部分:

<!-- スワイパー カルーセル-->
<div class="スワイパーコンテナ">
   <div class="スワイパーラッパー">
       <div class="スワイパースライド">
           <video id="video" style="width: 100%;height: 100%;" controls preload="none" poster="xxxx" class="video-js vjs-big-play-centered" >
            <ソース src="xxxx" type="video/mp4">
           </ビデオ>
       </div>
       <div class="swiper-slide"><img src="xxxx" alt=""></div>
        <div class="swiper-slide"><img src="xxxx" alt=""></div>
        <div class="swiper-slide"><img src="xxxx" alt=""></div>
        <div class="swiper-slide"><img src="xxxx" alt=""></div>
   </div>
   <!-- ポケベルが必要な場合 -->
   <div class="swiper-pagination"></div>
</div>

js部分:

//新しいvideojsオブジェクトを作成する var player = videojs('video', {
     ミュート: true、
     コントロール: true、
     // ループ: true,
 });

 // スワイパーカルーセル var mySwiper = new Swiper ('.swiper-container', {
     direction:'horizo​​ntal', // スライドショーの方向。垂直にもできます loop: true, // ループ再生 autoplay:3000, // スライド自動切り替え時間 speed:2000, // スライドスライドアニメーション時間 height: 100,
     pagination: '.swiper-pagination', // ページネーターが必要な場合、つまり下の小さな点が必要な場合 autoplayDisableOnInteraction : false, // この方法では、スライドしてもタイマーはクリアされません offsetWidth: 0,
     observer:true, // 監視 // スワイパーがスライドから別のスライドに遷移するときに、ビデオの再生を停止します (ここでは swiper3 ですが、swiper4 は別の方法で記述されています)
     onSlideChangeStart: 関数(スワイパー){
          プレーヤーを一時停止します。
     }
 });


 //ビデオの再生中にカルーセルを停止しますplayer.on('play',function(){
     // コンソールログ(mySwiper)
     mySwiper.stopAutoplay()
 });

 // ビデオが一時停止されると、カルーセルは続行されます player.on('pause', function(){
     mySwiper.startAutoplay()
 });

swiper と videojs の js と css はここでは紹介されていませんが、Baidu で検索できます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Taobao の商品画像切り替え効果を実現する JavaScript
  • 商品画像拡大鏡を実現する JavaScript
  • JavaScriptはeコマースプラットフォームの製品詳細を実装します

<<:  Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

>>:  MySQL Order By 複数フィールドのソートルールのコード例

推薦する

MySQLのバッファプールの詳細な説明

MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...

Nginx ロケーションマッチングルールの例

1. 文法 場所 [=|~|~*|^~|@] /uri/ { ... } 2. 説明上記の構文から、...

MySQLが日付フィールドインデックスを使用しない理由の要約

目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...

Docker-compose は Docker プライベート ウェアハウスのステップを迅速に構築します

docker-compose.ymlを作成し、次の内容を入力します。 バージョン: '3&#...

Javascriptでオブザーバーモードを実装する方法を教えます

目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...

MySQL がデュアルマスターで構成されている場合にデータループの競合を回避する方法

あなたはこの質問について考えたことがあるでしょうか?デュアルアクティブが構成されている場合、データル...

vue.js パッケージ化プロジェクトの後の空白ページの解決策

Vueに触れたばかりのパートナーの多くは、開発環境ではVueプロジェクトは正常であるが、パッケージ化...

Vue + 要素を使用して背景データをオプションに動的に表示する

必要:ハードコードされたデータの代わりに、セレクター内のオプション値の動的な表示を実装します。私のロ...

Dockerfile を使用して Docker イメージをカスタマイズする方法

Dockerfile を使用したイメージのカスタマイズイメージのカスタマイズとは、実際には各レイヤー...

MySQLはPartition関数を使用して水平分割戦略を実装します。

目次1件のレビュー2 水平分割の5つの戦略2.1 ハッシュ2.2 範囲2.3. キー2.4. リスト...

Linux ログ表示方法 6 つのまとめ

バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...

JSはシンプルなカウンターを実装します

HTML CSS および JavaScript を使用して、プラス、マイナス、ゼロの 3 つのボタン...

重複したMySQLテーブルをマージして削除する簡単な方法

シナリオ:クロールされたデータは、別のメインテーブルと同じ構造を持つデータテーブルを生成するため、マ...

ApacheBench でマルチ URL をサポートする方法

標準の ab は単一の URI でのストレス テストのみをサポートしており、実際のニーズを満たしてい...

CentOS 8 に Docker をインストールする詳細なチュートリアル

1. 以前のバージョン yum 削除 docker docker-client docker-cli...