首先,我們制作的這個進(jìn)度條并沒有后臺數(shù)據(jù)作為支撐,所以是一個靠js實(shí)現(xiàn)的一個簡單的頁面。
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站運(yùn)營等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)。
我們首先需要新建一個html5的頁面,其使用的progress元素實(shí)在html5時代才出現(xiàn)的。
我們在新建的頁面中,輸入一個段落標(biāo)簽,一個進(jìn)度條,一個button按鈕。
然后,我們需要設(shè)置一下進(jìn)度條顯示的進(jìn)度。value代表從多少開始,max代表到多少結(jié)束。我們做的是百分比形式的,應(yīng)該寫成這樣的。
這些做好之后,我們需要書寫兩個小的事件,實(shí)現(xiàn)原理大體上是鼠標(biāo)單擊下載按鈕,開始下載變?yōu)檎谙螺d百分之多少,等到達(dá)到我們預(yù)設(shè)的時間后顯示下載完成。
我們之前已經(jīng)給p標(biāo)簽和progress標(biāo)簽分別賦予了不同的id,我們需要獲取到這兩個元素,并將他們賦給兩個變量。
我們還要將progress的初始值設(shè)為0,當(dāng)鼠標(biāo)單擊的時候,我們以一定的時間為周期調(diào)用寫好的事件。
函數(shù)寫好之后,我們在瀏覽器中調(diào)試,點(diǎn)擊下載按鈕之后會在300ms內(nèi)完成下載時間。
HTML代碼:
section class="container"
div class="progress"
span style="width: 20%;"span20%/span/span
/div
div class="progress"
span class="green" style="width: 40%;"span40%/span/span
/div
div class="progress"
span class="orange" style="width: 60%;"span60%/span/span
/div
div class="progress"
span class="red" style="width: 80%;"span80%/span/span
/div
div class="progress"
span class="blue" style="width: 100%;"span100%/span/span
/div
/section
從HTML結(jié)構(gòu)中我們可以看出,類名為progress的div是整個進(jìn)度條的父容器,里面的span則是當(dāng)前進(jìn)度,通過width來定義不同的進(jìn)度值,同時定義不同的顏色類,比如orange,以便待會在CSS中進(jìn)行樣式渲染。
CSS代碼:
.progress {
height: 20px;
background: #ebebeb;
border-left: 1px solid transparent;
border-right: 1px solid transparent;
border-radius: 10px;
}
.progress span {
position: relative;
float: left;
margin: 0 -1px;
min-width: 30px;
height: 18px;
line-height: 16px;
text-align: right;
background: #cccccc;
border: 1px solid;
border-color: #bfbfbf #b3b3b3 #9e9e9e;
border-radius: 10px;
background-image: -webkit-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
background-image: -moz-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
background-image: -o-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
background-image: linear-gradient(to bottom, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
}
.progress span span {
padding: 0 8px;
font-size: 11px;
font-weight: bold;
color: #404040;
color: rgba(0, 0, 0, 0.7);
text-shadow: 0 1px rgba(255, 255, 255, 0.4);
}
.progress span:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1;
height: 18px;
background: url("../img/progress.png") 0 0 repeat-x;
border-radius: 10px;
}
.progress .green {
background: #85c440;
border-color: #78b337 #6ba031 #568128;
background-image: -webkit-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
background-image: -moz-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
background-image: -o-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
background-image: linear-gradient(to bottom, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
}
.progress .red {
background: #db3a27;
border-color: #c73321 #b12d1e #8e2418;
background-image: -webkit-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
background-image: -moz-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
background-image: -o-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
background-image: linear-gradient(to bottom, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
}
.progress .orange {
background: #f2b63c;
border-color: #f0ad24 #eba310 #c5880d;
background-image: -webkit-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
background-image: -moz-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
background-image: -o-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
background-image: linear-gradient(to bottom, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
}
.progress .blue {
background: #5aaadb;
border-color: #459fd6 #3094d2 #277db2;
background-image: -webkit-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
background-image: -moz-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
background-image: -o-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
background-image: linear-gradient(to bottom, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
}
首先,我們制作的這個進(jìn)度條并沒有后臺數(shù)據(jù)作為支撐,所以是一個靠js實(shí)現(xiàn)的一個簡單的頁面。
我們首先需要新建一個html5的頁面,其使用的progress元素實(shí)在html5時代才出現(xiàn)的。
我們在新建的頁面中,輸入一個段落標(biāo)簽,一個進(jìn)度條,一個button按鈕。
然后,我們需要設(shè)置一下進(jìn)度條顯示的進(jìn)度。value代表從多少開始,max代表到多少結(jié)束。我們做的是百分比形式的,應(yīng)該寫成這樣的。
這些做好之后,我們需要書寫兩個小的事件,實(shí)現(xiàn)原理大體上是鼠標(biāo)單擊下載按鈕,開始下載變?yōu)檎谙螺d百分之多少,等到達(dá)到我們預(yù)設(shè)的時間后顯示下載完成。
我們之前已經(jīng)給p標(biāo)簽和progress標(biāo)簽分別賦予了不同的id,我們需要獲取到這兩個元素,并將他們賦給兩個變量。
我們還要將progress的初始值設(shè)為0,當(dāng)鼠標(biāo)單擊的時候,我們以一定的時間為周期調(diào)用寫好的事件。
函數(shù)寫好之后,我們在瀏覽器中調(diào)試,點(diǎn)擊下載按鈕之后會在300ms內(nèi)完成下載時間。
div顯示度量值:?span?id="value"0/span%/div
meter?id="meter"?min="0"?max="100"?value="0"/meter
details
summary注釋:/summary
pIE?不支持?meter?標(biāo)簽/p
p進(jìn)度條每0.5秒鐘增加1%,直至到100%,然后再重復(fù)/p
/details
script
let?meter?=?document.getElementById('meter');
let?myValue?=?document.getElementById('value');
setInterval(function?()?{
if?(meter.value?==?100)?{
meter.value?=?0;
}?else?{
meter.value?+=?1;
}
myValue.innerHTML?=?meter.value;
},?500)
/script
!DOCTYPE?html
html
head
meta?charset="UTF-8"
titleInsert?title?here/title
/head
style
.jdtbox?{
padding:?10px?0;
}
.jdt_dbg?{
background:?#fce5e5;
width:?196px;
height:?18px;
border-radius:?10px;
-webkit-border-radius:?10px;
overflow:?hidden;
border-top:?1px?solid?#f9d1d1;
}
.jdt_mbg?{
background:?#f12938;
height:?18px;
width:?75%;
height:?20px;
}
/style
script?type="text/javascript"
$(function()?{
$(".jdt_mbg").animate({
width?:?"50%",
},?1000);
});
/script
body
form?action=""?method="post"?enctype="multipart/form-data"?name="upload_form"
label選擇圖片文件/label?
input?name="imgFile"?type="file"?multiple="multiple"?accept="image/gif,?image/jpeg"?/?
input?name="upload"?type="submit"?value="上傳"?/
/form
div?class="jdtbox"
div?class="jdt_dbg"
div?class="jdt_mbg"?style="width:?${investDetail.percent*100"/div
/div
/div
/body
/html
1、不自定義進(jìn)度條的話就只能用默認(rèn)進(jìn)度條,默認(rèn)的進(jìn)度條是集合在video標(biāo)簽中的,這個我們無法實(shí)現(xiàn)不能拖動,但是可以模擬下,你可以使用讓鼠標(biāo)點(diǎn)擊到視
頻所在的video或者div的時候無效化,原理就是鼠標(biāo)選不到進(jìn)度條,自然不能拖動了。如果你是要可以控制播放和暫停的話就實(shí)現(xiàn)js控制,反正是跳過
video自帶的控制器自己去寫。
2、用個透明的層或圖片把進(jìn)度條蓋住
分享名稱:html5進(jìn)度條,html5進(jìn)度條標(biāo)簽
鏈接分享:http://m.rwnh.cn/article36/phpdsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化、虛擬主機(jī)、、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)