layui擴(kuò)展上傳組件模擬進(jìn)度條的方法
更新時間:2019年09月23日 11:07:56 作者:lin452473623
今天小編就為大家分享一篇 layui擴(kuò)展上傳組件模擬進(jìn)度條的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
<div id="uploadPatchForm" style="display:none" class="roundRect">
<div id="uploadLoadingDiv">
<div class="layui-progress" lay-showpercent="true" lay-filter="demo" >
<div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
</div>
</div>
<form class="layui-form" enctype="multipart/form-data">
<div class="layui-form-item layui-upload">
<span id="uploadName" style="line-height: 3;"></span>
<button type="button" class="layui-btn layui-btn-normal" id="test8" style="float: right;">
<i class="layui-icon"></i>
</button>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<input type="radio" name="upgradeType" value="30011001" title="手動升級">
<input type="radio" name="upgradeType" value="30011002" title="自動升級" checked>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<a class="roundCornerDiv aLineGray" href="javascript:layer.closeAll();" rel="external nofollow" >
<span type="reset" class="ButtonText popupCloseBtn">取消</span>
</a>
<a class="roundCornerDiv aLineOrange">
<button class="ButtonText submitBtn" type="button" id="test9">立即提交</button>
</a>
</div>
</div>
</form>
</div>
layui.use(['upload','element','layer'], function(){
var upload = layui.upload,element = layui.element,layer = layui.layer;
var timer;//定義一個計時器
//選完文件后不自動上傳
upload.render({
elem: '#test8'
,url: 'upload'
,async: false
,method: 'post'
,data: {
upgradeType: function(){
return $("input[name='upgradeType']:checked").val();//額外傳遞的參數(shù)
}
}
,auto: false
,accept: 'file' //普通文件
,exts: 'zip' //只允許上傳壓縮文件
,field:'uploadFile'
,bindAction: '#test9'
,choose: function(obj){//這里的作用是截取上傳文件名稱并顯示
var uploadFileInput=$(".layui-upload-file").val();
var uploadFileName=uploadFileInput.split("\\");
$("#uploadName").text(uploadFileName[uploadFileName.length-1]);
}
,before: function(obj){ //obj參數(shù)包含的信息,跟choose回調(diào)完全一致
layer.load(); //上傳loading
var n = 0;
timer = setInterval(function(){//按照時間隨機(jī)生成一個小于95的進(jìn)度,具體數(shù)值可以自己調(diào)整
n = n + Math.random()*10|0;
if(n>95){
n = 95;
clearInterval(timer);
}
element.progress('demo', n+'%');
}, 50+Math.random()*100);
}
,done: function(res){
clearInterval(timer);
element.progress('demo', '100%');//一成功就把進(jìn)度條置為100%
layer.closeAll(); layer.msg('上傳成功');} ,error: function(index, upload){element.progress('demo', '0%');layer.closeAll(); //關(guān)閉所有層layer.msg('上傳更新包失敗'); }});});
哎,好難調(diào)格式!
效果如下,截圖工具反應(yīng)遲鈍看起來有點(diǎn)失真,實際測試是ok的:

以上這篇 layui擴(kuò)展上傳組件模擬進(jìn)度條的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript中利用for循環(huán)遍歷數(shù)組
這篇文章主要為大家詳細(xì)介紹了JavaScript中利用for循環(huán)遍歷數(shù)組,最好不要使用for in遍歷,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
js實現(xiàn)仿MSN帶關(guān)閉功能的右下角彈窗代碼
這篇文章主要介紹了js實現(xiàn)仿MSN帶關(guān)閉功能的右下角彈窗代碼,涉及javascript操作頁面元素的布局及屬性的動態(tài)變換技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
javascript延時重復(fù)執(zhí)行函數(shù) lLoopRun.js
javascript延時重復(fù)執(zhí)行函數(shù) lLoopRun.js...2007-06-06

