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版のパスワードを忘れた場合の完璧な解決策

推薦する

Linux 環境での Oracle 導入チュートリアル

1. 環境と関連ソフトウェア仮想マシン: VMwore Workstation Linuxシステム:...

MySQL 5.7.18 無料インストール版ウィンドウ設定方法

初めてのブログです。データベースの勉強を始めた頃のことを書いています。自分でダウンロードしたのですが...

Ubuntu 基本チュートリアル: apt-get コマンド

序文apt-get コマンドは、Ubuntu システムのパッケージ管理ツールです。パッケージのインス...

mybatis-plusページングパラメータが渡された後、SQLのwhere条件にはページング情報操作の制限がありません

2時間近くかけて、さまざまな方法を試しました。後で、whereでフィルタリングした後のデータ量が1ペ...

Vue.jsはElement-uiを使用してナビゲーションメニューを実装します

この記事では、Element-uiを使用してvue.jsでナビゲーションメニューを実装するための具体...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

スライダー間隔コンポーネントのネイティブ js 実装

この記事の例では、スライダー間隔コンポーネントを実装するためのjsの具体的なコードを参考までに共有し...

HTML テーブル マークアップ チュートリアル (10): セル パディング属性 CELLPADDING

セルのパディングは、セルの内容と境界線の間の距離です。基本的な構文<TABLE セルパディング...

axios でリクエストをキャンセルし、重複リクエストを防ぐ方法について簡単に説明します。

目次序文コア - キャンセルトークン実用的なアプリケーションとパッケージングいくつかの小さな詳細序文...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...

Docker stopはすべてのコンテナを停止/削除します

この記事では主に、すべてのコンテナを削除する Docker stop/remove を紹介し、皆さん...

Nodejs でモジュール fs ファイルシステムを使用する方法

目次概要ファイル記述子同期、非同期、Promise同期書き込み非同期書き込み(推奨)約束​​の書き方...

MySQLプロセス関数の一般的な使用例の分析

この記事では、例を使用して MySQL プロセス関数の一般的な使用方法を説明します。ご参考までに、詳...

Dayjs を使用して Vue で一般的な日付を計算する方法

vue を使用してプロジェクトを開発する場合、フロントエンドでは次のような日付と時刻を計算する必要が...

MySQLカバーインデックスの詳しい説明

コンセプトインデックスにクエリ要件を満たすすべてのデータが含まれている場合、それはカバーリング イン...