vue實(shí)現(xiàn)簡(jiǎn)單loading進(jìn)度條
剛學(xué)習(xí)vue不久,今天試著用vue做了一個(gè)簡(jiǎn)單的loading進(jìn)度條,對(duì)于vue的生命周期和鉤子函數(shù)又有了新的理解,下面分享給大家,絕對(duì)入門(mén)級(jí)。
一、進(jìn)度條原理
這個(gè)就很簡(jiǎn)單了,也是我們經(jīng)常可以用到的,這里只做一個(gè)最簡(jiǎn)單的,頁(yè)面刷新自動(dòng)加載進(jìn)度條。主要是讓進(jìn)度條的width不斷增加至100%就可以啦~好了,進(jìn)入正題。
二、jquery實(shí)現(xiàn)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" > <link rel="stylesheet" > <title>jq進(jìn)度條</title> </head> <body> <div id="app"> <div class="progress round alert"> <span class="meter" style="width:0%">0%</span> </div> </div> <script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script> <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js "></script> <script src="https://cdn.bootcss.com/foundation/5.5.3/js/foundation.min.js "></script> <script> $(function () { var html = $('.meter'); var htmlW = $('.meter').val(); var styleW = parseInt($('.meter').css('width')); var clearInt = setInterval(function () { styleW++; var styleWW = styleW + '%'; html.css('width', styleWW); html.html(styleWW); if (styleW == 100) { clearInterval(clearInt); } }, 20) }) </script> </body> </html>
三、vue實(shí)現(xiàn)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>vue進(jìn)度條</title> <link rel="stylesheet" > <link rel="stylesheet" > <style> .bar{ color: #fff; text-align: center; } </style> </head> <body> <div id="app"> <div class="progress alert round"> <span class="meter bar" :style="{width:proBar+'%',}" >{{proBar}}</span> </div> </div> <script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script> <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js "></script> <script src="https://cdn.bootcss.com/foundation/5.5.3/js/foundation.min.js "></script> <script> var app = new Vue({ el: '#app', data: { proBar: 0, }, created(){ this.change(); }, methods: { change: function() { var clearInt = setInterval(function() { app.proBar++; console.log(app.prpBar); if (app.proBar == 100) { clearInterval(clearInt); } }, 20) } } }) </script> </body> </html>
對(duì)比兩段代碼顯然vue要方便許多,因?yàn)槭请p向綁定,不用來(lái)回操作dom,就很簡(jiǎn)單省心啦。
注意問(wèn)題:剛開(kāi)始沒(méi)有實(shí)現(xiàn)loading效果,主要是因?yàn)橛昧薽ounted鉤子函數(shù)來(lái)調(diào)用change方法(還是對(duì)生命周期理解的不到位)。實(shí)現(xiàn)loading效果我們需要在頁(yè)面加載時(shí)自動(dòng)調(diào)用change方法,所以我們應(yīng)該在數(shù)據(jù)全部初始化前就執(zhí)行這一操作。mounted時(shí)期已經(jīng)全部完成初始化,所以便不會(huì)成功。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue進(jìn)度條progressbar組件功能
- vue組件實(shí)現(xiàn)進(jìn)度條效果
- vue頁(yè)面加載時(shí)的進(jìn)度條功能(實(shí)例代碼)
- vue.js+ElementUI實(shí)現(xiàn)進(jìn)度條提示密碼強(qiáng)度效果
- 在vue項(xiàng)目中使用Nprogress.js進(jìn)度條的方法
- vue開(kāi)發(fā)拖拽進(jìn)度條滑動(dòng)組件
- vue2.0實(shí)現(xiàn)音樂(lè)/視頻播放進(jìn)度條組件
- Vue實(shí)現(xiàn)帶進(jìn)度條的文件拖動(dòng)上傳功能
- Vue render渲染時(shí)間戳轉(zhuǎn)時(shí)間,時(shí)間轉(zhuǎn)時(shí)間戳及渲染進(jìn)度條效果
- vue視頻時(shí)間進(jìn)度條組件使用方法詳解
相關(guān)文章
springboot?vue測(cè)試平臺(tái)前端項(xiàng)目查詢新增功能
這篇文章主要為大家介紹了springboot+vue測(cè)試平臺(tái)前端項(xiàng)目實(shí)現(xiàn)查詢新增功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05vue生成二維碼QR?Code的簡(jiǎn)單實(shí)現(xiàn)方法示例
這篇文章主要為大家介紹了vue生成二維碼QR?Code的實(shí)現(xiàn)示例詳情,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04el-table多選toggleRowSelection不生效解決方案
這篇文章主要給大家介紹了關(guān)于el-table多選toggleRowSelection不生效的解決方案,文中通過(guò)圖文以及代碼將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08vue2.0實(shí)現(xiàn)列表數(shù)據(jù)增加和刪除
這篇文章主要為大家詳細(xì)介紹了vue2.0實(shí)現(xiàn)列表數(shù)據(jù)增加和刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06解決vue初始化項(xiàng)目一直停在downloading template的問(wèn)題
這篇文章主要介紹了解決vue初始化項(xiàng)目一直停在downloading template的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11