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 相关文章推荐
JavaScript 对象的属性和方法4种不同的类型
Mar 19 Javascript
初窥JQuery(二) 事件机制(1)
Nov 25 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
Aug 28 Javascript
js算法中的排序、数组去重详细概述
Oct 14 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
Mar 23 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
Aug 14 jQuery
easyui下拉框动态级联加载的示例代码
Nov 29 Javascript
vue2.0 资源文件assets和static的区别详解
Apr 08 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 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&amp;MYSQL服务器配置说明
2006/10/09 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
javascript的console.log()用法小结
2012/05/31 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
Python解析xml中dom元素的方法
2015/03/12 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python分布式环境下的限流器的示例
2017/10/26 Python
微信跳一跳python代码实现
2018/01/05 Python
详解python编译器和解释器的区别
2019/06/24 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
厂长助理岗位职责
2013/12/27 职场文书
求职信结尾怎么写
2014/05/26 职场文书
公司证明怎么写
2014/09/22 职场文书
2015年中学校长工作总结
2015/05/19 职场文书