jQuery實(shí)現(xiàn)文件上傳進(jìn)度條特效
上傳進(jìn)度條通常是由前面jquery加后端了腳本器腳本來實(shí)現(xiàn)了,今天我們介紹的是一款基本php+jQuery實(shí)現(xiàn)文件上傳進(jìn)度條效果的例子,具體細(xì)節(jié)如下。
最近呢,一個(gè)項(xiàng)目做一個(gè)進(jìn)度條的效果出來,這個(gè)之前還真沒做過。剛好這周沒什么東西了,就拿這個(gè)來充一下數(shù)吧。
文件上傳,得先準(zhǔn)備一個(gè)“按鈕”:

這個(gè)看上去還是不錯(cuò)的吧,實(shí)現(xiàn)也是很簡(jiǎn)單的:
<span class="upload-span">開始上傳文件</span>
<button>太丑了,就用span來做了,可控性強(qiáng)。添加點(diǎn)css:
.upload-span{
display: inline-block;
width: 120px;
height: 40px;
color: #FFFFFF;
text-align: center;
line-height: 40px;
background-color: blue;
border: 2px solid blue;
border-radius:5px;
cursor: pointer;
letter-spacing: 2px;
}
當(dāng)點(diǎn)擊就會(huì)觸發(fā)上傳效果,之后添加事件。
逼真一點(diǎn),得再加一個(gè)遮罩和一個(gè)顯示進(jìn)度條的控件,點(diǎn)擊span后,效果大概是這樣子的:

<div class="upload-mask"></div>
<div class="upload-component">
<div class="upload-close">
<span class="upload-close-span">關(guān)閉</span>
</div>
<div class="upload-content">
<div class="progress">
<span class="upload-text"></span>
<span class="uploaded"></span>
</div>
<div class="confirm-cancel">
<span class="confirm">確認(rèn)</span>
<span class="cancel">取消</span>
</div>
</div>
</div>
加點(diǎn)css上去:
.upload-mask{
position: absolute;
top: 0;
left: 0;
z-index: 9;
width: 100%;
height: 100%;
background-color: rgba(84,84,84,0.3);
display: none;
}
.upload-component{
position: absolute;
z-index: 99;
top: 50%;
left: 50%;
margin-left: -120px;
margin-top: -60px;
width: 240px;
height: 120px;
background-color: #FFFFFF;
display:none;
}
.upload-close{
position: relative;
height: 30px;
background-color: rgb(234,234,234);
}
.upload-close span{
position: absolute;
right: 15px;
line-height: 30px;
cursor: pointer;
}
.upload-content,.confirm-cancel{
margin-top: 15px;
}
.progress{
position:relative;
width:90%;
height:22px;
margin-left: 4.88888%;
text-align: center;
line-height: 22px;
/*background-color: blue;*/
border:1px solid #ccc;
}
.upload-text{
position:absolute;
z-index: 99999;
color:red;
}
.uploaded{
position:absolute;
left:0;
z-index: 9999;
width:0%;
height:100%;
background-color: blue;
color:#FFFFFF;
}
.confirm-cancel span{
display:inline-block;
width:60px;
height:30px;
line-height: 30px;
text-align: center;
/*cursor:pointer;*/
background-color:#ccc;
cursor:wait;
}
.confirm{
/*background-color: rgb(111,197,293);*/
margin-left:40%;
}
.cancel{
/*background-color: rgb(175,194,211);*/
margin-left: 10px;
}
為了模擬進(jìn)度的顯示,在這里用了兩個(gè)span:
<div class="progress"> <span class="upload-text"></span> <span class="uploaded"></span> </div>
上面一個(gè)是用來顯示百分比的,下面一個(gè)用來填色的:
.upload-text{
position:absolute;
z-index: 99999;
color:red;
}
.uploaded{
position:absolute;
left:0;
z-index: 9999;
width:0%;
height:100%;
background-color: blue;
color:#FFFFFF;
}
為了逼真,給填色的span設(shè)置背景色,其寬度就是進(jìn)度的百分比,最后就用js來模擬進(jìn)度的變化了:
// 模擬進(jìn)度
function progressBar() {
var max = 100;
var init = 0;
var uploaded;
var test = setInterval(function() {
init += 10;
uploaded = parseInt((init / max * 100)) + '%';
$uploadTextSpan.text(uploaded).next().css({
width:uploaded
});
if (init === 100) {
clearInterval(test);
$uploadTextSpan.text('上傳完成');
$('.confirm-cancel span').css({
cursor:'pointer'
});
$('.confirm').css({
backgroundColor:'rgb(111,197,293)'
});
$('.cancel').css({
backgroundColor:'rgb(175,194,211)'
})
$closeConfirmCancel.on('click',closeConfirmCancel);
}
else {
$closeConfirmCancel.off('click',closeConfirmCancel);
$('.upload-close-span').on('click',function(){
clearInterval(test);
closeConfirmCancel();
});
$uploadMask.on('click',function() {
clearInterval(test);
closeConfirmCancel();
})
}
},1000);
}
JQuery實(shí)現(xiàn)文件上傳進(jìn)度條,能顯示上傳的百分比等信息,內(nèi)容就到這里了,希望大家能夠喜歡。
- jquery 簡(jiǎn)單的進(jìn)度條實(shí)現(xiàn)代碼
- 6款新穎的jQuery和CSS3進(jìn)度條插件推薦
- 分享8款優(yōu)秀的 jQuery 加載動(dòng)畫和進(jìn)度條插件
- jquery實(shí)現(xiàn)的一個(gè)簡(jiǎn)單進(jìn)度條效果實(shí)例
- 基于HTML5 Ajax文件上傳進(jìn)度條如何實(shí)現(xiàn)(jquery版本)
- Javascript jquery css 寫的簡(jiǎn)單進(jìn)度條控件
- jQuery EasyUI API 中文文檔 - ProgressBar 進(jìn)度條
- jQuery監(jiān)聽文件上傳實(shí)現(xiàn)進(jìn)度條效果的方法
- 利用jQuery實(shí)現(xiàn)漂亮的圓形進(jìn)度條倒計(jì)時(shí)插件
- jquery實(shí)現(xiàn)百分比記分進(jìn)度條
相關(guān)文章
multiSteps 基于Jquery的多步驟滑動(dòng)切換插件
這個(gè)插件支持任意步驟,具有啟動(dòng)之前函數(shù)調(diào)用功能,具有完成之后回調(diào)功能。2011-07-07
jQuery實(shí)現(xiàn)側(cè)浮窗與中浮窗切換效果的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)側(cè)浮窗與中浮窗切換效果的方法,涉及jQuery針對(duì)頁面元素的動(dòng)態(tài)操作技巧,需要的朋友可以參考下2016-09-09
基于Jquery實(shí)現(xiàn)的一個(gè)圖片滾動(dòng)切換
很多效果還是要封裝成插件才好,這里只是給大家個(gè)效果參考。對(duì)像我這種新手應(yīng)該還是有幫助的吧2012-06-06

