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="手動(dòng)升級">
<input type="radio" name="upgradeType" value="30011002" title="自動(dòng)升級" 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;//定義一個(gè)計(jì)時(shí)器
//選完文件后不自動(dòng)上傳
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(){//按照時(shí)間隨機(jī)生成一個(gè)小于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)失真,實(shí)際測試是ok的:

以上這篇 layui擴(kuò)展上傳組件模擬進(jìn)度條的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序tabBar組件切換與下拉刷新實(shí)現(xiàn)詳解
tabBar相對而言用的還是比較多的,但是用起來并沒有難,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置之tabBar的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
基于JavaScript實(shí)現(xiàn)瀑布流效果
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)瀑布流效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
小程序安全指南之如何禁止外部直接跳轉(zhuǎn)到小程序某頁面
由于小程序跳轉(zhuǎn)的對象比較多,各自的規(guī)則又不一樣,因此小程序跳轉(zhuǎn)外部鏈接是用戶咨詢較多的問題之一,下面這篇文章主要給大家介紹了關(guān)于小程序安全指南之如何禁止外部直接跳轉(zhuǎn)到小程序某頁面的相關(guān)資料,需要的朋友可以參考下2022-09-09
JavaScript無縫滾動(dòng)效果的實(shí)例代碼
本文給大家分享一段實(shí)例代碼有關(guān)js實(shí)現(xiàn)無縫滾動(dòng)效果,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-03-03
Javascript中字符串相關(guān)常用的使用方法總結(jié)
本篇文章主要介紹了Javascript中字符串相關(guān)常用的使用方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
js實(shí)現(xiàn)改進(jìn)的仿藍(lán)色論壇導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)改進(jìn)的仿藍(lán)色論壇導(dǎo)航菜單效果代碼,涉及JavaScript頁面元素的遍歷及樣式動(dòng)態(tài)變換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09

