Vue はシームレスなカルーセル効果を実現

Vue はシームレスなカルーセル効果を実現

この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

コード

1. サブコンポーネントコード

コードは次のとおりです(例):

<テンプレート>
  <div>
    <div class="box" @mouseenter="マウス" @mouseleave="マウスリーブ">
      <ul class="box1">
        <li>
          <画像
            :src="n"
            v-for="(n, i) 画像内"
            :key="i"
            代替案=""
            :style="{ 左: (i - インデックス) * 500 + 'px' }"
            :class="hasAni ? 'アニメーション' : ''"
          />
        </li>
      </ul>
      <p class="tt" @click="left">&lt;</p>
      <p class="tt1" @click="right">></p>
    </div>
  </div>
</テンプレート>

スクリプトコードは次のとおりです(例):

<スクリプト>
エクスポートデフォルト{
  名前:「ルンボ」
  小道具: ["imgs"],
  データ() {
    戻る {
      // js で画像を使用するには、require を使用して index: 1 をインポートする必要があります。
      hasAni: true、
      真: 真、
    };
  },
  メソッド: {
    ねずみ() {
      タイマー間隔をクリアします。
    },
    マウスのLeave() {
      this.timer = setInterval(() => {
        this.index++;
        this.hasAni = true;
        (this.index == this.imgs.length - 1) の場合 {
          タイムアウトを設定する(() => {
            this.index = 0;
            this.hasAni = false;
          }, 750);
        }
      }, 1500);
    },
    右() {
      もしこれが真ならば{
        this.index++;
        this.hasAni = true;
        this.istrue = false;
        (this.index == this.imgs.length - 1) の場合 {
          タイムアウトを設定する(() => {
            this.index = 1;
            this.hasAni = false;
          }, 750);
        }
        タイムアウトを設定する(() => {
          this.istrue = true;
        }, 1000);
      }
    },
    左() {
       もしこれが真ならば{
        this.index--;
        this.hasAni = true;
        this.istrue = false;
        (this.index == 0)の場合{
          タイムアウトを設定する(() => {
            this.index = this.imgs.length - 1;
            this.hasAni = false;
          }, 750);
        }
        タイムアウトを設定する(() => {
          this.istrue = true;
        }, 1000);
      }
    },
  },
  アクティブ化() {
    コンソールログ(1);
    this.timer = setInterval(() => {
      this.index++;
      this.hasAni = true;
      (this.index == this.imgs.length - 1) の場合 {
        タイムアウトを設定する(() => {
          this.index = 0;
          this.hasAni = false;
        }, 750);
      }
    }, 1500);
  },
  非活性化() {
    タイマー間隔をクリアします。
  },
};
</スクリプト>

CS

<スタイルスコープ>
p {
  幅: 30ピクセル;
  高さ: 60px;
  背景色: rgba(46, 139, 86, 0.356);
  行の高さ: 60px;
  フォントサイズ: 24px;
  位置: 絶対;
  上: 105px;
}
.tt {
  左: 0;
}
.tt1 {
  右: 0;
}
。箱 {
  幅: 500ピクセル;
  高さ: 300px;
  マージン: 100px 自動;
  位置: 相対的;
  オーバーフロー: 非表示;
}
.box1 画像 {
  位置: 絶対;
  左: 0px;
  上: 0;
  幅: 500ピクセル;
  高さ: 300px;
}
.アニメーション {
  遷移: 左 0.75 秒;
}
</スタイル>

2. 親コンポーネントコード

親コンポーネント

<キープアライブ>
      <Lunbo :imgs="imgs" />
</キープアライブ>

モジュールのインポート

「./components/Lunbo」からLunboをインポートします。

画像データ

データ() {
    戻る {
      画像:[
        必要("./assets/6.jpg")、
        必要("./assets/1.jpg")、
        必要("./assets/2.jpg")、
        必要("./assets/3.jpg")、
        必要("./assets/4.jpg")、
        必要("./assets/5.jpg")、
        必要("./assets/6.jpg")、
        必要("./assets/1.jpg")、
      ]、
    }

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

以下もご興味があるかもしれません:
  • Vueを使用して画像カルーセルコンポーネントを作成するアイデアの詳細な説明
  • vue.js をベースに画像カルーセル効果を実現する
  • vue.js カルーセル コンポーネント vue-awesome-swiper に基づくカルーセル チャートの実装
  • カルーセル効果を実現するためのVueトランジション
  • Vue でスワイパー カルーセル プラグインを参照するための詳細なチュートリアル
  • Vue.jsは、mint-uiのカルーセルサンプルコードを統合します。
  • Vue.jsはシンプルなカルーセル効果を実装します
  • vue carousel のプラグインである vue-concise-slider の使用
  • Vue を使用してモバイル画像カルーセル コンポーネントを実装する方法の例
  • vue.js+elementUI は、左右の矢印をクリックしてアバターを切り替える機能を実現します(カルーセル画像の効果に似ています)

<<:  Rancher で Kubernetes 用の標準化された VMware イメージを構築する方法

>>:  Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策

ブログ    

推薦する

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

NODE.JS を使用して WEBSERVER を作成する手順

目次Node.jsとはNodeJSをインストールするNode を使用して Hello World を...

Linux Jenkins 構成スレーブノード実装プロセス図

序文: Jenkins のマスター スレーブ分散アーキテクチャは、主に、Jenkins に単一ポイン...

SQL 挿入文の書き方の説明

方法 1: INSERT INTO t1(field1,field2) VALUE(v001,v00...

Javascript 仮想 DOM の詳細な説明

目次仮想DOMとは何ですか?なぜ仮想DOMが必要なのでしょうか?仮想 DOM はどのようにして実際の...

JavaScript データのフラット化の詳細な説明

目次フラット化とは何か再帰トストリング減らすアンダーコア_.平坦化_。連合_。違い要約するフラット化...

HTML でフレームセット タグを使用するチュートリアル

フレームセット ページは通常の Web ページとは多少異なります。依然として <HTML>...

Docker ビルド kubectl イメージ実装手順

プログラムサービスがgitlab ci/cdと統合されたk8sを使用してデプロイされている場合、gi...

共有サイドバーを実装するためのネイティブJS

この記事では、ネイティブ JS で実装された共有サイドバーを紹介します。効果は次のとおりです。 以下...

MySQLデータベースでサポートされているストレージエンジンの比較

目次ストレージエンジンMySQL でサポートされているストレージ エンジン同時実行制御ロック粒子をロ...

jsはテーブルの追加と削除の操作を動的に実装します

この記事の例では、jsでテーブルを動的に追加および削除するための具体的なコードを参考までに共有してい...

Linuxでスワップパーティションファイルを作成する方法

スワップの紹介Linux のスワップ (スワップ パーティション) は、Windows の仮想メモリ...

MySQL 8.0 に移行する際の注意点 (要約)

パスワードモードPDO::__construct(): サーバーがクライアントに不明な認証方法を要求...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

フロントエンド JavaScript でローカルあいまい検索機能を実装する方法の例

目次1. プロジェクトの見通し2. 知識ポイントObject.assign() の使用法filter...