Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper は、携帯電話やタブレットなどのモバイル端末向けに設計された、純粋な JavaScript で構築されたスライド特殊効果プラグインです。タッチスクリーンのフォーカス画像、タッチスクリーンのタブ切り替え、タッチスクリーンのマルチ画像切り替えなどの一般的な効果を実現できます。使い方は超簡単。さっそくチュートリアルを見ていきましょう。

1. まずプラグインをロードします。必要なファイルは swiper.min.js ファイルと swiper.min.css ファイルです。 Swiper ファイルをダウンロードするか、CDN を使用することができます。

 <!-- リンクスワイパー-->
  <link rel="スタイルシート" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.2/css/swiper.min.css" rel="外部 nofollow" >
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.0.2/js/swiper.min.js"></script>

Swiperの中国語ウェブサイトのファイルを直接インポートしないでください。

<script src="http://www.swiper.com.cn/dist/js/swiper.min.js"></script>

<link href="http://www.swiper.com.cn/dist/css/swiper.min.css" rel="外部nofollow" />

2. CSSスタイル

 <スタイル>
    .スワイパーコンテナ{
    //ここで幅と高さを設定できます width: 50%;
      高さ: 50%;
    }
    .スワイパースライド{
      テキスト配置: 中央;
      フォントサイズ: 18px;
      背景: #fff;
      /* スライドのテキストを垂直に中央揃えにする */
      ディスプレイ: フレックス;
      -webkit-box-pack: 中央;
      -ms-flex-pack: 中央;
      中央揃え
      コンテンツの中央揃え: 中央;
      -webkit-box-align: 中央;
      -ms-flex-align: 中央;
      -webkit-align-items: 中央;
      アイテムの位置を中央揃えにします。
    }
    画像{
      幅:250px;
    }
  </スタイル>

3. HTML

<div class="スワイパーコンテナ">
  <div class="スワイパーラッパー">
    <div class="swiper-slide"><img src="img/000.jpg" alt=""></div>
    <div class="swiper-slide"><img src="img/001.jpg" alt=""></div>
    <div class="swiper-slide"><img src="img/002.jpg" alt=""></div>
    <div class="swiper-slide"><img src="img/003.jpg" alt=""></div>
    <div class="swiper-slide"><img src="img/004.jpg" alt=""></div>
    //画像を追加</div>
  <!-- ページ区切りを追加 -->
  <div class="swiper-pagination"></div>
  <!-- 矢印を追加 -->
  <div class="スワイパーボタン-次へ"></div>
  <div class="スワイパーボタン前"></div>
</div>

4. JavaScript

<スクリプト>
  var swiper = new Swiper('.swiper-container', {
    スペース: 30,
    centeredSlides: true、
    自動再生:
      遅延: 2500、
      対話時に無効にする: false、
    },
    ページネーション:
      el: '.swiper-pagination',
      クリック可能: true、
    },
    ナビゲーション:
      nextEl: '.swiper-button-next',
      前へ: '.swiper-button-prev',
    },
  });
</スクリプト>

レンダリング

画像を置き換えて、画像とカルーセルのサイズを変更するだけで、簡単に素晴らしいカルーセルを作成できます。簡単ですよね?

補足:スワイパーを使用して均一でシームレスな回転を実現する方法

1. プロパティを設定する

フリーモード:true、

自動再生:

遅延:0

}

2. スタイルを変更または上書きする

.swiper-container-free-mode>.swiper-wrapper {
  -webkit-transition-timing-function: linear; /*以前はease-outでした*/
  -moz-transition-timing-function: 線形;
  -ms-遷移タイミング関数: 線形;
  -o-遷移タイミング関数: 線形;
  遷移タイミング関数: 線形;
  マージン: 0 自動;
}

補足 2: モバイルデバイスにおける swiper.js の落とし穴

ステップ:

1. カレンダーのレンダリング: カレンダーは自分で開発しました (注: 1. 現在の日付を取得します。2. 月に何日あるか。3. 閏月。4. 各月の 1 日は何曜日か。...)

2. プロジェクトは比較的最近のものであるため、スライド効果を実現するために swiper.js コントロールが使用されています。

質問:

1. 最初に遭遇したのは、UC、Baidu、その他のブラウザを含む iOS でのテストでは問題がなかったのですが、Meizu と Huawei の電話でテストすると切り替えができないという問題がありました。

解決策: 互換性の問題であると考え、swiper.js の公式ドキュメントを探しました。当時は swiper.js のみを参照しており、swiper.css と swiper.animate.js を紹介していなかったためです。

再導入後、問題は解決し、問題は解決しました。

<link rel="スタイルシート" href="../../styles/library/swiper.min.css" rel="外部nofollow" />
<script src="../../scripts/common/swiper-3.3.1.min.js"></script>
<script src="../../scripts/common/swiper.animate.min.js"></script> 

2. 必要なファイルをインポートした後、iOS と Android のブラウザには問題がないことがわかりました。ただし、Android アプリには問題があり、切り替えがスムーズではありませんでした。このとき、Baidu でも検索しましたが、解決策は見つかりませんでした。最終的には、プロパティとメソッドの解決策を確認するために公式ドキュメントを読む必要がありました。

 // スライドショー - 左右にスライドして切り替えます var mySwiper = new Swiper('.swiper-container',{
    ページネーション: '.pagination',
    ループ:false、
    モード: '水平'、
    フリーモード:false、
    タッチ比率:0.5,
    ロングスワイプ比率:0.1、
    閾値:50、
    followFinger:false、
    observer: true, // スワイパー自体またはその子要素を変更すると、スワイパーが自動的に初期化されます
    observeParents: true, //スワイパーの親要素を変更すると、スワイパーを自動的に初期化します
    onSlideChangeEnd:function(swiper){ // スライドが終了すると、月と日が同期して左右に切り替わります。changeMonth();
    }
  });

注: 初期化中に追加されたプロパティがわからない場合は、公式ドキュメントを確認してください。

注意: 私は swper.js バージョン 3xxx 以上を使用していますが、各バージョン間の違いはかなり大きいです。

Swiper.jsプラグインを使用してカルーセル画像を簡単に実装する方法についての記事はこれで終わりです。Swiper.jsカルーセル画像の詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • js でシームレスなカルーセルプラグインのカプセル化を実現
  • jsカルーセルのプラグインカプセル化の詳細な説明
  • ネイティブ JS カルーセル プラグイン
  • カルーセルの完全なコードを実装するためのjs
  • ネイティブ js でカルーセルを実装するためのサンプル コード
  • 携帯電話のスライドスイッチカルーセル画像の例をサポートする効果を実現するためのjs
  • JS カルーセル図の実装の簡単なコード
  • js で左右のボタンをクリックして画像を再生する
  • JSは左右のシームレスなカルーセルコードを実装します
  • jsネイティブカルーセルプラグインの制作

<<:  MySQL での coalesce() の使用に関するヒントのまとめ

>>:  Docker で Docker0 ブリッジのデフォルトのネットワーク セグメントを変更する方法

推薦する

IIS7~IIS8.5 サーバープロトコルヘッダーの削除または変更

要件: IIS 7、7.5、8.0、8.5、および ASP.NET で HTTP 応答ヘッダーを削除...

Centos8.3、dockerデプロイメントspringbootプロジェクトの実際のケース分析

導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...

js キャンバスはランダムなパーティクル効果を実現します

この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...

Vue 条件付きレンダリング v-if と v-show

目次1. 動詞-if 2. <template> で v-if を使用する3. キーを使...

大きなオフセットによる MySQL 制限ページングが遅い理由と最適化ソリューション

MySQL では通常、limit を使用してページ上のページング機能を完了しますが、データ量が大きな...

SQL インジェクションの詳細

1. SQL インジェクションとは何ですか? SQL インジェクションは、入力パラメータに SQL ...

Linuxシステムにmsfをインストールするプロセスの詳細な説明

または、インストールプロセスを自分で書き留めてください。私のサーバーシステムはAliyun Linu...

mysql バッチで大量のデータを削除する

mysql バッチで大量のデータを削除する1000万件のレコードを持つテーブル(syslogs)があ...

HTML+CSSを使用してマウスの動きを追跡する

ユーザーがプライバシーを意識するようになり、オンライン トラッキングに対する予防策を強化するにつれて...

ブロックレベル要素、インライン要素、可変要素の概要

ブロック要素p - 段落テキストの事前フォーマットテーブルol - ソートフォームul - 順序なし...

Docker を使用して ELK ログ システムを構築する例

以下のインストールではすべて、インストール ルート ディレクトリとして ~/ ディレクトリが使用され...

Linux での crontab スケジュール実行コマンドの詳細な説明

LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep ...

ハイパーリンクAタグを学ぶ

聞く: CSS を使用してハイパーリンクのスタイルを設定しましたが、ホバーしても機能しません。なぜこ...

Linux の一般的な基本コマンドと使用方法

この記事では、一般的な基本的な Linux コマンドとその使用方法を例を使って説明します。ご参考まで...

Vueコンポーネントの再利用と拡張の詳細な説明

目次概要延長は必要ですか?スロットJavaScript ユーティリティ関数拡張コンポーネントの複数の...