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

推薦する

CSS3 を使用して入力複数選択ボックスのスタイルをカスタマイズする例

原則: まず入力要素を非表示にし、次に CSS を使用してラベル要素のスタイルを設定します (他の要...

冗長カーネルを削除するLinuxディープインの実装方法

前の記事では、deepin linux に新しいカーネルを手動でインストールする方法について説明しま...

ネイティブ JavaScript でショッピングカートを実装する

この記事では、ショッピングカートを実装するためのJavaScriptの具体的なコードを参考までに紹介...

JSブラウザストレージの詳しい説明

目次導入クッキークッキーとはクッキー生成方法クッキーの適用シナリオクッキーのデメリット回避策ローカル...

Vueのトグルボタンをクリックしてボタンを有効にし、無効にします。

実装方法は3つのステップに分かれています。テンプレートに 2 つのボタンを設定し、v-if と v-...

HTML+CSS+jQuery はスクリーンショットで検索ホットリストタブ効果を模倣します

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

JS ベースの Ajax 同時リクエスト制御を実装する方法

目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...

CSSは複数の要素をボックスの両端に揃える効果を実現します

要素の両端を揃える配置レイアウトは、実際の開発のいたるところで見られます。これは、フレックスレイアウ...

VMware15/16 VMwareのロックを解除してMacOSをインストールする詳細な手順

VMware バージョン: VMware-workstation-full-16 VMware バー...

コメント付きのスネークゲームを実装する js

この記事の例では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有しています。具体...

MySQL インデックスの正しい使い方とインデックスの原理の詳細な説明

1. はじめになぜインデックスが必要なのでしょうか?一般的なアプリケーション システムでは、読み取り...

CSSでできるならJavaScriptは使わない

序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...

MySQLカスタム関数の簡単な使用例

この記事では、例を使用して MySQL カスタム関数の使用方法を説明します。ご参考までに、詳細は以下...

JavaScript は、シンプルな虫眼鏡の最も完全なコード分析を実装します (ES5)

この記事では、参考までに、シンプルな虫眼鏡を実装するためのJavaScriptの具体的なコードを紹介...

最新の JavaScript で非同期タスクを書く方法

序文この記事では、非同期 JavaScript の進化と、それがコードの記述方法にどのような変化をも...