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实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
javaScript 数值型和字符串型之间的转换
Jul 25 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
jQuery操作JSON的CRUD用法实例
Feb 25 Javascript
使用JQuery实现的分页插件分享
Nov 05 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
JavaScript生成带有缩进的表格代码
Jun 15 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
vue中使用ueditor富文本编辑器
Feb 08 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 Javascript
小程序实现文字循环滚动动画
Jun 14 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 Memcache 中实现消息队列
2009/11/24 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
很棒的js Tab选项卡切换效果
2016/08/30 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
Python内置函数的用法实例教程
2014/09/08 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
详解python statistics模块及函数用法
2019/10/27 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
商场经理竞聘演讲稿
2014/01/01 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
详解Python为什么不用设计模式
2021/06/24 Python
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB