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 Boolean、Nnumber、String 强制类型转换的区别详细介绍
Dec 13 Javascript
可自己添加html的伪弹出框实现代码
Sep 08 Javascript
extjs表格文本启用选择复制功能具体实现
Oct 11 Javascript
eclipse导入jquery包后报错的解决方法
Feb 17 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
javascript实现平滑无缝滚动
Aug 09 Javascript
Bootstrap按钮下拉菜单组件详解
May 10 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
May 12 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
javascript实现商品图片放大镜
Nov 28 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
Python实现备份文件实例
2014/09/16 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
公司离职证明范本(汇总)
2014/09/10 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Go 内联优化让程序员爱不释手
2022/06/21 Golang