vue實(shí)現(xiàn)簡(jiǎn)單loading進(jìn)度條
剛學(xué)習(xí)vue不久,今天試著用vue做了一個(gè)簡(jiǎn)單的loading進(jìn)度條,對(duì)于vue的生命周期和鉤子函數(shù)又有了新的理解,下面分享給大家,絕對(duì)入門級(jí)。
一、進(jìn)度條原理
這個(gè)就很簡(jiǎn)單了,也是我們經(jīng)常可以用到的,這里只做一個(gè)最簡(jiǎn)單的,頁面刷新自動(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向綁定,不用來回操作dom,就很簡(jiǎn)單省心啦。
注意問題:剛開始沒有實(shí)現(xiàn)loading效果,主要是因?yàn)橛昧薽ounted鉤子函數(shù)來調(diào)用change方法(還是對(duì)生命周期理解的不到位)。實(shí)現(xiàn)loading效果我們需要在頁面加載時(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頁面加載時(shí)的進(jìn)度條功能(實(shí)例代碼)
- vue.js+ElementUI實(shí)現(xiàn)進(jìn)度條提示密碼強(qiáng)度效果
- 在vue項(xiàng)目中使用Nprogress.js進(jìn)度條的方法
- vue開發(fā)拖拽進(jìn)度條滑動(dòng)組件
- vue2.0實(shí)現(xiàn)音樂/視頻播放進(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)文章
vuex 動(dòng)態(tài)注冊(cè)方法 registerModule的實(shí)現(xiàn)
這篇文章主要介紹了vuex 動(dòng)態(tài)注冊(cè)方法 registerModule的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Vue3使用Proxy構(gòu)建高效響應(yīng)式數(shù)據(jù)的示例代碼
在 Vue 3 中,Proxy 主要用于 攔截對(duì)象的基本操作,包括 屬性讀取(get)、修改(set)、刪除(deleteProperty) 等,本文給大家介紹了Vue3使用Proxy構(gòu)建高效響應(yīng)式數(shù)據(jù)的操作教程,需要的朋友可以參考下2025-03-03
vue項(xiàng)目前端微信JSAPI與外部H5支付相關(guān)實(shí)現(xiàn)過程及常見問題
這篇文章主要介紹了vue項(xiàng)目前端微信JSAPI與外部H5支付相關(guān)實(shí)現(xiàn)過程及常見問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么
這篇文章主要介紹了vite項(xiàng)目的根目錄中的env.d.ts類型聲明文件里要寫什么,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Vue3+Vite實(shí)現(xiàn)一個(gè)Markdown編輯器組件
在現(xiàn)代前端開發(fā)中,Markdown 編輯器廣泛應(yīng)用于博客,文檔,Wiki,代碼注釋等場(chǎng)景,本文將使用 Vue 3 構(gòu)建一個(gè)簡(jiǎn)單的 Markdown 編輯器組件,感興趣的小伙伴可以了解下2025-04-04
vue.js通過自定義指令實(shí)現(xiàn)數(shù)據(jù)拉取更新的實(shí)現(xiàn)方法
數(shù)據(jù)拉取更新這個(gè)功能相信大家基本都見過,但是如果要做起來卻不止如何做起,所以這篇文章給大家分享了vue.js通過自定義指令實(shí)現(xiàn)的方法,閱讀本文需要對(duì)vue有一定理解,有需要的朋友們下面來一起看看吧。2016-10-10
vue中 router.beforeEach() 的用法示例代碼
導(dǎo)航守衛(wèi)主要是通過跳轉(zhuǎn)或取消的方式守衛(wèi)導(dǎo)航,本文通過示例代碼講解vue中 router.beforeEach() 的用法,感興趣的朋友跟隨小編一起看看吧2023-12-12
Vue3 + Vue-PDF 實(shí)現(xiàn)PDF 文件在線預(yù)覽實(shí)戰(zhàn)
這篇文章主要介紹了Vue3 + Vue-PDF 實(shí)現(xiàn)PDF 文件在線預(yù)覽實(shí)戰(zhàn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06

