カルーセルアニメーションを実現する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、添付ファイルのバックアップ)

推薦する

Linux ディスクとディスク パーティションを理解するための記事

序文Linux システムのすべてのハードウェア デバイスは、ファイルの形式で表現され、使用されます。...

個人ブログシステムを構築するためのDockerの超シンプルな実装

Dockerをインストールするyumパッケージを最新バージョンに更新します: sudo yum up...

CSS3 メディアクエリにおけるデバイス幅と幅の違いの詳細な説明

1.デバイス幅定義: 出力デバイスの画面表示幅を定義します。 Web ページが Safari で開か...

MySQL Community Server 5.7.16 のグリーン バージョンをインストールしてリモート ログインを実装する方法

1. MySQL Community Server 5.7.16をダウンロードしてインストールします...

JavaScript デザインパターン 責任連鎖パターン

目次概要コードの実装パラメータ定義成し遂げる責任連鎖パターンの実装改善概要責任チェーン パターンは、...

Vueはechartを使用してラベルと色をカスタマイズします

この記事では、参考までに、echartを使用してタグと色をカスタマイズするVueの具体的なコードを紹...

Dockerコンテナの構築と実行のプロセスの詳細な説明

イメージをプルし、コンテナを作成してコンテナを実行するだけです。 docker run -d --r...

小さな画面のモバイルデバイス向けにWebページを設計する際に注意すべきこと

その理由は、このタイプの Web ページが WAP と呼ばれるワイヤレス プロトコルから生成されたた...

両端の CSS レイアウトのサンプルコード (親の負のマージンを使用)

最近、開発中に両端が揃ったレイアウトに遭遇しました。レイアウトはパーセンテージに基づいていました。以...

WeChatアプレットがSMS認証コード送信のカウントダウンを実装

この記事では、WeChatアプレットがSMS認証コードのカウントダウンを送信するための具体的なコード...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

Firebug ツールを使用して iPad でページをデバッグする

iPad でページをデバッグするにはどうすればいいですか? iOS 5 をご利用の場合、iPad の...

JSは写真の自動再生効果を実現します

この記事では、写真の自動再生効果を実現するためのJSの具体的なコードを参考までに紹介します。具体的な...

MySQL の繰り返し読み取りレベルでファントム読み取りを解決できますか?

導入データベース理論についてさらに学んでいくうちに、さまざまな分離レベルによって起こり得る問題につい...

jsはユーザーのページ操作を記憶するためにクッキーを使用します

序文開発プロセスでは、ブラウザレベルでユーザーが実行した操作を記憶するなど、同様の要件に遭遇すること...