js+HTML5 canvas 實(shí)現(xiàn)簡(jiǎn)單的加載條(進(jìn)度條)功能示例
本文實(shí)例講述了js+HTML5 canvas 實(shí)現(xiàn)簡(jiǎn)單的加載條(進(jìn)度條)功能。分享給大家供大家參考,具體如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>www.dhdzp.com canvas實(shí)現(xiàn)加載條動(dòng)畫</title>
</head>
<body>
<canvas id="loadingProgressCanvas"></canvas>
<script>
/*
* 獲取canvas, canvas本身沒有畫圖能力,相當(dāng)于一個(gè)畫布,提供繪制圖形的地方
* document.getElementsByTagName("canvas")[0]
* document.querySelector("canvas")/document.querySelector("#loadingProgressCanvas")
* document.querySelectorAll("canvas")[0]
*/
var loadingProgressCanvas = document.getElementById("loadingProgressCanvas");
var ctx = loadingProgressCanvas.getContext("2d"); // 獲取繪制圖形的對(duì)象(畫筆)
drawFirst(); // 繪制初始狀態(tài)
var progress = 0; // 定義進(jìn)度
drawProgress(); // 繪制初始進(jìn)度
// 定義定時(shí)器, 100ms鐘繪制5%
var timer = setInterval("drawProgress()", 100);
// 繪制初始狀態(tài)
function drawFirst() {
ctx.fillStyle="#0000ff"; // 定義畫筆顏色, 重新繪制已經(jīng)加載的進(jìn)度條
/*
* 定義矩形(左上角x/y左邊,寬高)
*/
ctx.rect(0, 0, 200, 30);
ctx.stroke(); // 繪制定義好的矩形路徑
ctx.fillStyle="#0000ff"; // 定義畫筆顏色, 重新繪制已經(jīng)加載的進(jìn)度條
}
// 繪制進(jìn)度條
function drawProgress() {
if(progress == 200) {
progress = 0;
ctx.clearRect(0, 0, 200, 30); // 清楚之前的繪制
} else {
ctx.moveTo(progress, 0); // 移動(dòng)到上一次繪制的終點(diǎn),準(zhǔn)備繪制下一次的進(jìn)度
ctx.fillRect(progress, 0, 10, 30); // 200 * 0.05
progress += 10;
}
}
</script>
</body>
</html>
運(yùn)行結(jié)果:

感興趣的朋友可使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試一下運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《JavaScript+HTML5特效與技巧匯總》、《JavaScript圖形繪制技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript?canvas繪制動(dòng)態(tài)圓環(huán)進(jìn)度條
- JavaScript canvas繪制圓形加載進(jìn)度條
- 詳解JavaScript+Canvas繪制環(huán)形進(jìn)度條
- JavaScript實(shí)現(xiàn)可動(dòng)的canvas環(huán)形進(jìn)度條
- 環(huán)形加載進(jìn)度條封裝(Vue插件版和原生js版)
- js實(shí)現(xiàn)增加數(shù)字顯示的環(huán)形進(jìn)度條效果
- JS實(shí)現(xiàn)環(huán)形進(jìn)度條(從0到100%)效果
- javascript 進(jìn)度條的幾種方法
- js實(shí)現(xiàn)進(jìn)度條的方法
- JavaScript canvas實(shí)現(xiàn)環(huán)形漸變進(jìn)度條
相關(guān)文章
JS實(shí)現(xiàn)n秒后自動(dòng)跳轉(zhuǎn)的兩種方法
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)n秒后自動(dòng)跳轉(zhuǎn)的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
javascript實(shí)現(xiàn)unicode與ASCII相互轉(zhuǎn)換的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)unicode與ASCII相互轉(zhuǎn)換的方法,涉及JavaScript字符串的遍歷、正則匹配及編碼轉(zhuǎn)換相關(guān)技巧,需要的朋友可以參考下2015-12-12
基于JS實(shí)現(xiàn)簡(jiǎn)單的3D立方體自動(dòng)旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)簡(jiǎn)單的3D立方體自動(dòng)旋轉(zhuǎn)的效果,文中的實(shí)現(xiàn)代碼講解詳細(xì),感興趣的可以嘗試一下2022-06-06
原生JavaScript寫出Tabs標(biāo)簽頁的實(shí)例代碼
這篇文章主要介紹了原生JavaScript寫出Tabs標(biāo)簽頁的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
JavaScript中transform實(shí)現(xiàn)數(shù)字翻頁效果
本文主要介紹JavaScript中利用transform實(shí)現(xiàn)數(shù)字翻頁效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
兼容IE與firefox火狐的回車事件(js與jquery)
今天看了網(wǎng)上的朋友說了,很多網(wǎng)站提供的回車事件代碼都是不兼容firefox的,其實(shí)腳本之家提供的代碼,一直以來都是盡量的兼容多瀏覽器。2010-10-10
js拖動(dòng)div 當(dāng)鼠標(biāo)移動(dòng)時(shí)整個(gè)div也相應(yīng)的移動(dòng)
要拖動(dòng)的div為最外層的div,這段代碼對(duì)顯示對(duì)話框的頭部綁定鼠標(biāo)監(jiān)聽事件,當(dāng)鼠標(biāo)移動(dòng)時(shí),整個(gè)div也相應(yīng)的移動(dòng),具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-11-11

