カルーセルアニメーションを実現するVueコンポーネント

カルーセルアニメーションを実現するVueコンポーネント

この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として紹介します。具体的な内容は次のとおりです。

ソースコードは以下のとおりです

<テンプレート>
  <div id="ラッパー">
    <トランジショングループ名="リスト" タグ="ul" モード="アウトイン">
      <li v-for="(item,index) in piclist" :key="item.url" :style="config[index]">
        <img :src="item.url">
      </li>
    </トランジショングループ>
    <a href="javascript:;" id="arrLeft" class="prev" @click="turnleft"></a>
    <a href="javascript:;" id="arrRight" class="next" @click="turnright"></a>
  </div>
</テンプレート>

js:

エクスポートデフォルト{
  データ() {
    戻る {
      写真リスト: [
        { url: require("../image/pic1.png") },
        { url: require("../image/pic2.png") },
        { url: require("../image/pic3.png") }
      ]、
      //ファイルイメージ構成 config: [
        {
          位置: "絶対"、
          幅: "400px",
          上: "20px",
          左: "50px",
          不透明度: 0.2、
          zインデックス: 2,
          遷移: "1s"
        },
        {
          位置: "絶対"、
          幅: "800px",
          上: "100px",
          左:「200px」、
          不透明度: 1,
          zインデックス: 4,
          遷移: "1s"
        },
        {
          位置: "絶対"、
          幅: "400px",
          上: "20px",
          左:「750ピクセル」、
          不透明度: 0.2、
          zインデックス: 2,
          遷移: "1s"
        }
      ]、
      前: 0,
      今: Date.now()
    };
  },
  メソッド: {
  //ボタンをクリックして切り替えるアニメーションを実現し、複数回のクリックを防ぐために時間パラメータを設定します turnleft: function() {
      this.now = Date.now();
      if (this.now - this.previous > 1000) {
        this.config.push(this.config.shift());
        this.previous = this.now;
      }
    },
    右折: 関数() {
      this.now = Date.now();
      if (this.now - this.previous > 1000) {
        this.config を unshift します (this.config.pop());
        this.previous = this.now;
      }
    }
  }
};

css:

* {
  マージン: 0;
  パディング: 0;
}
#ラッパー{
  マージン: 自動;
  高さ: 500px;
  幅: 79%;
  位置: 相対的;
}
ul {
  リストスタイル: なし;
}
画像 {
  高さ: 500px;
  幅: 100%;
}
.前,
。次 {
  位置: 絶対;
  高さ: 60px;
  幅: 60ピクセル;
  境界線の半径: 50%;
  上位: 50%;
  上マージン: -56px;
  オーバーフロー: 非表示;
  テキスト装飾: なし;
  背景色: 水色;
  zインデックス: 5;
  不透明度: 1;
}
.前へ {
  左: 0;
}
。次 {
  右: 0;
}
.picleft{
  幅: 400;
  トップ: 20;
  残り: 50;
  不透明度: 0.2;
  zインデックス: 2;
}
.piccenter {
  幅: 800;
  上: 100;
  残り: 200;
  不透明度: 1;
  zインデックス: 4;
}
.picright{
  幅: 400;
  トップ: 20;
  残り: 750;
  不透明度: 0.2;
  zインデックス: 2;
}

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

以下もご興味があるかもしれません:
  • Vueはカルーセルアニメーションを実装します
  • Vue3をベースにカルーセルアニメーション効果を実現

<<:  Navicat 8でMySQL用のデータベースを作成する方法

>>:  Linux サーバーのスクリプトを自動的にバックアップする方法 (mysql、添付ファイルのバックアップ)

推薦する

MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装

実験環境: 1. CentOS 7 サーバー 3 台2. mysql5.7.26 (3台のマシンはす...

Dockerコマンドの自動補完の実装

序文この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンド...

MySQLがウィンドウ関数で合計関数を実行するときに発生する可能性のあるバグ

MySql のウィンドウ関数を使用して統計データを収集する際に、小さな問題が見つかったので、それにつ...

Linux curl フォームのログインまたは送信と Cookie の使用に関する詳細な説明

序文この記事では主に、curl を介してフォーム送信ログインを実装する方法について説明します。単一の...

TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

Apache Tomcat は、Java Servlet および Java Server Pages...

Ubuntu 16.04 で MySQL マスター スレーブ同期を設定する方法

準備1. マスターとスレーブのデータベースのバージョンは一致している必要があります2. マスターデー...

VUE を使用して Ali Iconfont ライブラリをオンラインで呼び出す方法

序文何年も前、私はサーバー側の初心者でしたが、業界の競争が激しくなるにつれて、フロントエンドの初心者...

HTML で中国語を UTF-8 に変換する方法

HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...

JavaScriptのループの違いについての詳細な説明

目次序文列挙可能なプロパティ反復可能なオブジェクトforEachメソッドとmapメソッドチェーン呼び...

Linuxサーバー間のリアルタイムファイル同期の実現

使用シナリオ既存のサーバー A と B の場合、サーバー A の指定されたディレクトリ (たとえば、...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...

Linux での Apache サービスの展開と構成

目次1 Apacheの役割2 Apacheのインストール3. Apacheを有効にする4 Apach...

{{ }} で関数を直接使用する WeChat アプレットの例

序文WeChat アプレット開発 (ネイティブ wxml、wxcss) で、{{ }} 内で直接メソ...

IE ブラウザの HTML ハック タグの概要

コードをコピーコードは次のとおりです。 <!--[if !IE]><!-->...

MySQL データベースの基礎: 基本コマンドの概要

目次1. ヘルプ情報を使用する2. データベースの作成、削除、表示3. データベースに接続する4. ...