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 相关文章推荐
jquery实现的超出屏幕时把固定层变为定位层的代码
Feb 23 Javascript
jquery插件开发方法(初学者)
Feb 03 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
May 03 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
当前流行的JavaScript代码风格指南
Sep 10 Javascript
Javascript优化技巧之短路表达式详细介绍
Mar 27 Javascript
javascript验证内容为数字以及长度为10的简单实例
Aug 20 Javascript
jQuery使用方法
Feb 04 Javascript
js图片上传的封装代码
Aug 01 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
Dec 09 Javascript
基于JavaScript实现十五拼图代码实例
Apr 26 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
PHPEXCEL 使用小记
2013/01/06 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
python搜索指定目录的方法
2015/04/29 Python
Python的pycurl包用法简介
2015/11/13 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
pandas中去除指定字符的实例
2018/05/18 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
机械专业应届生求职信
2013/09/21 职场文书
建筑自我鉴定
2013/10/19 职场文书
企业文化宣传标语
2014/06/09 职场文书
单位实习鉴定评语
2015/01/04 职场文书
具结保证书
2015/01/17 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers