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 相关文章推荐
ExtJS Window 最小化的一种方法
Nov 18 Javascript
jQuery随机切换图片的小例子
Apr 18 Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 Javascript
JavaScript框架(iframe)操作总结
Apr 16 Javascript
深入解读JavaScript中的Iterator和for-of循环
Jul 28 Javascript
js中实现字符串和数组的相互转化详解
Jan 24 Javascript
jQuery 选择同时包含两个class的元素的实现方法
Jun 01 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
Sep 01 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
jQuery实现元素的插入
Feb 27 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
微信小程序轮播图swiper代码详解
Dec 01 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
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
浅析Python四种数据类型
2018/09/26 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python 获取项目根路径的代码
2019/09/27 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
大学自我鉴定范文
2013/12/26 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
单位更名证明
2015/06/18 职场文书
法定授权委托证明书
2015/06/18 职场文书
微信早安问候语
2015/11/10 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis