激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

香港云服务器
服務器之家 - 編程語言 - JavaScript - vue.js - vue實現輪播圖幀率播放

vue實現輪播圖幀率播放

2022-01-07 19:06zpf嗎 vue.js

這篇文章主要為大家詳細介紹了vue實現輪播圖幀率播放,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue實現輪播圖幀率播放的具體代碼,供大家參考,具體內容如下

需求

傳入一個數組,數組中放的是目錄名稱,通過本目錄名稱,讀取文件目錄下的所有圖片,并循環播放,形成一個每1s播放多少張圖片的效果,最后目錄播放完畢后,在跳到第一個目錄循環播放。

核心: 用 webpack的一個API require.contex讀取目錄下的文件名,具體想了解的可以查一查。

代碼

HTML

?
1
2
3
4
5
6
7
8
9
<template>
 <div id="imgPlay" ref="container" :style="[style]">
 <img :src="imgsrc" :style="[{height:style.height,width:style.width}]">
 <div id="but">
  <button @click="start()">開始</button>
  <button @click="stop()">停止</button>
 </div>
 </div>
</template>

javascript

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<script>
export default {
 name: 'ZxImgPlay',
 data () {
 return {
  style:[
 width:"50px",
 height:"50px"
 ],
  interval: null, // 定時器id
  flag: true, // 定時器的開關
  setIntervalNumber: 0, // 當前展示的圖片下標
  imgsrc: "", // 要展示的圖片路徑
  imgUrls: [], // 所有的圖片路徑
  frameRate: 0 // 幀率
 }
 },
 computed: {},
 watch: {},
 created () { },
 mounted () {
 this.zxInit()
 },
 beforeDestroy () { },
 
 methods: {
 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)
 },
 
 start () {
  if (this.flag) return
  this.showImages()
  this.flag = true
 },
 
 stop () {
  this.flag = false
  clearInterval(this.interval)
 },
 
 readImages (imageFileName, _A) {
  this.stop()
  let req = require.context("@/../static/images", true, /\.(?:bmp|jpg|gif|jpeg|png)$/).keys();
  let path = new RegExp(imageFileName[_A])
  req.forEach(item => {
  if (path.test(item)) {
   this.imgUrls.push({ img: "@/../static/images/" + imageFileName[_A] + item.substring(item.lastIndexOf('/')) })
  }
  })
  this.showImages()
 },
 readdir (imageFileName) {
  this.imgUrls = []
  for (let i = 0; i < imageFileName.length; i++) {
  this.readImages(imageFileName, i)
  }
 },
 
 showImages (_B) {
  if (_B) this.imgUrls = this.imgUrlsSort(this.imgUrls, 'sort')
  console.log(this.imgUrls)
  this.interval = setInterval(this.setIntervalFun, this.frameRate)
 },
 
 imgUrlsSort (ary, key) {
  return ary.sort((a, b) => {
  let x = a[key];
  let y = b[key];
  return ((x < y) ? -1 : (x > y) ? 1 : 0)
  })
 },
 
 setIntervalFun () {
  if (this.setIntervalNumber >= this.imgUrls.length) {
  this.setIntervalNumber = 0
  }
  this.imgsrc = this.imgUrls[this.setIntervalNumber++].img || ''
 }
 }
}
</script>

問題

上述這么做已經實現了功能,但是目前來說是發現了兩個問題

1、require.context() 這個API它的第一個參數不能用一個可變的值,比如變量,會有警告。
2、上述代碼一直更換圖片的src實現的,也就是說每次換src時都會發送http請求獲取圖片,導致了內存不會被釋放一直增加。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_44393247/article/details/113147062

延伸 · 閱讀

精彩推薦
  • vue.jsVue2.x-使用防抖以及節流的示例

    Vue2.x-使用防抖以及節流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.js用vite搭建vue3應用的實現方法

    用vite搭建vue3應用的實現方法

    這篇文章主要介紹了用vite搭建vue3應用的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue中引入svg圖標的兩種方式

    Vue中引入svg圖標的兩種方式

    這篇文章主要給大家介紹了關于Vue中引入svg圖標的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    十里不故夢10222021-12-31
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關資料,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.jsVue2.x 項目性能優化之代碼優化的實現

    Vue2.x 項目性能優化之代碼優化的實現

    這篇文章主要介紹了Vue2.x 項目性能優化之代碼優化的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    優小U9632022-02-21
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學可以研究下...

    yukiwu6752022-01-25
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學的同學,可能js的基礎也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術團隊7992021-12-22
  • vue.jsVue項目中實現帶參跳轉功能

    Vue項目中實現帶參跳轉功能

    最近做了一個手機端系統,其中遇到了父頁面需要攜帶參數跳轉至子頁面的問題,現已解決,下面分享一下實現過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
771
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 欧美一级片 在线播放 | 精国产品一区二区三区四季综 | 中文字幕在线免费播放 | 狠狠操视频网站 | 欧美黄一级 | av电影在线观看免费 | 青青操国产| 色吧综合网 | 久草在线视频中文 | 国产精品99一区二区 | 天天看成人免费毛片视频 | 主播粉嫩国产在线精品 | 免费在线性爱视频 | 亚洲性一区 | 久久狠狠高潮亚洲精品 | 欧美受xxxx黑人xyx爽 | 欧美性生交大片 | 国产精品欧美日韩一区二区 | 一区二区三区四区国产 | 中文字幕11 | 亚洲午夜一区二区三区 | 欧美激情精品久久久久 | 91九色福利 | 黄视频免费在线 | 精品国产91一区二区三区 | 国产精品久久久在线观看 | 91高清完整版在线观看 | 麻豆视频在线播放 | 中文字幕精品久久 | 亚洲成人精品视频 | 美女视频黄a视频免费全过程 | 欧美视频一二区 | 1级毛片在线观看 | 在线亚洲观看 | 日本高清黄色片 | 日本在线观看视频网站 | 久久久久久免费免费 | 久久久久亚洲国产精品 | 国产精品午夜性视频 | 成人 日韩| 欧美特级一级毛片 |