この記事の例では、カルーセルのフレームレート再生を実現するためのVueの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 必要ディレクトリ名を含む配列を渡します。このディレクトリ名を通じて、ファイル ディレクトリ内のすべての画像を読み取り、ループで再生します。これにより、1 秒ごとに一定数の画像を再生する効果が得られます。最後のディレクトリが再生された後、最初のディレクトリにジャンプしてループで再生します。 コア: webpack require.contex の API を使用して、ディレクトリ内のファイル名を読み取ります。詳細を知りたい場合は、確認してください。 コードhtml <テンプレート> <div id="imgPlay" ref="コンテナ" :style="[スタイル]"> <img :src="imgsrc" :style="[{height:style.height,width:style.width}]"> <div id="but"> <button @click="start()">開始</button> <button @click="stop()">停止</button> </div> </div> </テンプレート> ジャバスクリプト <スクリプト> エクスポートデフォルト{ 名前: 'ZxImgPlay', データ () { 戻る { スタイル:[ 幅:"50px", 高さ:"50px" ]、 間隔: null, // タイマーID flag: true, // タイマースイッチ setIntervalNumber: 0, // 現在表示されている画像の添え字 imgsrc: "", // 表示する画像パス imgUrls: [], // すべての画像パス frameRate: 0 // フレームレート } }, 計算: {}, 時計: {}、 作成された() { }, マウントされた(){ this.zxInit() }, beforeDestroy() { }, メソッド: { zxInit() { //This.DisplayParam は会社内の一連のものであり、混合オブジェクト //this.DisplayParam.frameRate は配列 ["ディレクトリ名 1", "ディレクトリ名 2"] です // this.DisplayParam.imgUrls はデッド イメージです。ディレクトリがない場合は、デッド イメージが使用されます。// this.DisplayParam.frameRate は受信フレーム レートです。this.frameRate = this.DisplayParam.frameRate && (1000 / this.DisplayParam.frameRate) this.imgUrls = this.DisplayParam.imgUrls this.DisplayParam.imageFileName != 0 ? this.readdir(this.DisplayParam.imageFileName) : this.showImages(true) }, 始める () { if (this.flag) 戻り値 this.showImages() this.flag = true }, 停止 () { this.flag = false クリア間隔(this.interval) }, 画像を読み取る(画像ファイル名, _A) { this.stop() req = require.context("@/../static/images", true, /\.(?:bmp|jpg|gif|jpeg|png)$/).keys(); とします。 パスを新しい正規表現(imageFileName[_A])とします。 req.forEach(アイテム => { if (path.test(item)) { this.imgUrls.push({ img: "@/../static/images/" + imageFileName[_A] + item.substring(item.lastIndexOf('/')) }) } }) this.showImages() }, readdir (画像ファイル名) { this.imgUrls = [] (i = 0 とします; i < imageFileName.length; i++) { this.readImages(画像ファイル名, i) } }, 画像を表示(_B) { if (_B) this.imgUrls = this.imgUrlsSort(this.imgUrls, 'sort') コンソールログ(this.imgUrls) this.interval = setInterval(this.setIntervalFun、this.frameRate) }, imgUrlsSort (配列、キー) { ary.sort((a, b) => { を返す x = a[キー]とします。 y = b[キー]とします。 ((x < y) ? -1 : (x > y) ? 1 : 0) を返します }) }, setIntervalFun() { this.setIntervalNumber >= this.imgUrls.length の場合 { this.setIntervalNumber = 0 } this.imgsrc = this.imgUrls[this.setIntervalNumber++].img || '' } } } </スクリプト> 質問 上記で機能は達成できたが、これまでに2つの問題が見つかった。 1. require.context() API の最初のパラメータでは、変数などの変更可能な値は使用できず、警告が発行されます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Python Django アプリケーションを Docker 化する方法
>>: MAC 上の MySQL の初期パスワードを忘れた場合の対処方法
多くの場合、画像をコンテナのサイズに合わせて調整する必要があります。 1. imgタグ方式幅と高さを...
ポップアップニュースは国内のインターネットサービスでは一般的であり、リアルタイムプッシュ方式はウェブ...
序文比較的複雑な大規模システムでは、複雑なロジックで処理する必要があるオブジェクトまたはデータ フロ...
1. 理由システムが Centos7.3 の場合、yum install docker を使用して直...
インストール前の作業: VMware Workstation がインストールされていることを確認し、...
目次意味コンストラクタ本体は異なる戻り値なし戻りオブジェクト非オブジェクトを返すプロパティバインディ...
コンテナログを表示するまず、 docker run -it --rm -d -p 80:80 ngi...
目次1. 遭遇した問題2. 問題を分析する3. 本当の問題4. 解決策5. ソリューション効果1. ...
目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...
Web サービスは、アプリケーション間の通信に関係しています。SOAP は、Web サービス間の X...
以前、CSS を使用してテーブルの border + bordercolordark + borde...
目次1. エフェクト表示2. 検証コードとメールプッシュ管理の強化(後述のブログを参照) 3. 一般...
usemap は <img> タグの属性であり、使用するイメージ マップの名前を指定する...
目次1. カーソルとは何ですか? 2. カーソルの使い方1. カーソルを宣言する2.カーソルを開く3...
背景まず、背景を説明します。ある制約により、当社の現在のバックアップ戦略では、1 日おきにフル バッ...