jQuery实现简单的文件上传进度条效果


Posted in Javascript onMarch 26, 2020

本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下:

运行效果截图如下:

jQuery实现简单的文件上传进度条效果

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>upload</title>
<link rel="stylesheet" type="text/css" href="upload/upload.css">
<script type="text/javascript" src="upload/jquery.js"></script>
</head>
<body>
<span class="upload-span">开始上传文件</span>
<div class="upload-mask"></div>
<div class="upload-component">
<div class="upload-close">
<span class="upload-close-span">关闭</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">确认</span>
<span class="cancel">取消</span>
</div>
</div>
</div>
<script type="text/javascript" src="upload/upload.js"></script>
</body>
</html>

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;
}
.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;
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;
background-color:#ccc;
cursor:wait;
}
.confirm{
margin-left:40%;
}
.cancel{
margin-left:10px;
}

jQuery代码:

$(function (){
var $uploadSpan = $('.upload-span');
var $uploadMask = $('.upload-mask');
var $uploadContent = $('.upload-component');
var $closeConfirmCancel = $('.upload-close-span,.confirm,.cancel');
var $uploadTextSpan = $('.upload-text');
function showMask(){
$(".upload-mask,.upload-component").css({display:'block'});
progressBar();
$uploadSpan.off('click',showMask);
}
function hiddenMask(){
$uploadMask.css({display:'none'});
$uploadSpan.on('click',showMask);
}
function closeConfirmCancel(){
$uploadContent.css({display:'none'});
$uploadTextSpan.text('').next().css({width:0});
hiddenMask();
}
// 模拟进度
function progressBar(){
var max =100;
var init =0;
var uploaded;
var test = setInterval(function(){
init +=5;
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();
});
}
},1000);
}
$uploadSpan.on('click',showMask);
})

JQuery实现文件上传进度条,能显示上传的百分比等信息,内容就到这里了,希望大家能够喜欢。

Javascript 相关文章推荐
JS操作图片(增,删,改) 例子
Apr 17 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
jQuery中通过ajax的get()函数读取页面的方法
Feb 29 Javascript
javascript的BOM
May 03 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
Jul 07 Javascript
JS中的一些常用的函数式编程术语
Jun 15 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 Javascript
ant design charts 获取后端接口数据展示
May 25 Javascript
jquery实现手风琴效果
Nov 20 #Javascript
不想让浏览器运行javascript脚本的方法
Nov 20 #Javascript
jquery背景跟随鼠标滑动导航
Nov 20 #Javascript
JavaScript获取浏览器信息的方法
Nov 20 #Javascript
JavaScript性能优化之小知识总结
Nov 20 #Javascript
Bootstrap每天必学之基础排版
Nov 20 #Javascript
详解JavaScript的回调函数
Nov 20 #Javascript
You might like
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
php多重接口的实现方法
2015/06/20 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
JavaScript中string对象
2015/06/12 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Python扩展内置类型详解
2018/03/26 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
Python进行特征提取的示例代码
2020/10/15 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
酒吧总经理岗位职责
2013/12/10 职场文书
社团成立邀请函
2014/01/08 职场文书
实习鉴定评语
2014/01/19 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
庆祝国庆节标语
2014/10/09 职场文书
2019新员工心得体会
2019/06/25 职场文书
Nginx内网单机反向代理的实现
2021/11/07 Servers