zoukankan
html css js c++ java
JS实现的进度条
//
进度条
//
<input type="button" value="start" onclick="processBar.changeMode();if(processBar.isMoving){this.value='Stop';}else{this.value='Start';}">
//
---------------------------
//
<script language="javascript" src="ProcessBar.js"></script>
//
<input type="button" value="start" onclick="(new ProcessBar()).changeMode();">
//
可实现方法:doProcessBarAction()
//
---------------------------
function
ProcessBar()
{
var
divG
=
document.createElement(
"
<div style=\
"
background: url(
'
../image/0.gif
'
) no
-
repeat;margin:
0
auto;text
-
align:center;256px;height:18px;position:absolute;top:
45
%
;left:
40
%
;font
-
size:13px;z
-
index:
1000
;\
"
></div>
"
);
var
proc
=
document.createElement(
"
<div id='proc' style=\
"
background: url(
'
../image/1.gif
'
);position:absolute;top:
0
;left:
0
;0px;height:18px;font
-
size:13px;z
-
index:
1000
;\
"
></div>
"
);
var
div2
=
document.createElement(
"
<div style='position:absolute;top:2;left:0;256px;height:18px;text-align:center;font-size:13px;background:transparent'> </div>
"
);
divG.appendChild(proc);
//
divG.appendChile(div2);
document.body.appendChild(divG);
document.execCommand(
"
BackgroundImageCache
"
,
false
,
true
);
var
obj
=
proc;
this
.isMoving
=
false
;
this
.maxLength
=
parseInt(obj.parentNode.style.width.replace(
"
px
"
,
""
));
this
.nowLength
=
parseInt(obj.style.width.replace(
"
px
"
,
""
));
this
.moveInterval
=
100
;
this
.moveRange
=
1
;
this
.timer;
this
.obj
=
obj;
ProcessBar.nowObj
=
this
;
this
.changeMode
=
function
()
{
this
.isMoving
=
!
this
.isMoving;
if
(
this
.isMoving)
{
createBgDiv();
//
创建页面蒙版
this
.timer
=
window.setInterval(ProcessBar.nowObj.moving,
this
.moveInterval);
}
else
{
window.clearInterval(
this
.timer);
}
}
this
.moving
=
function
()
{
ProcessBar.nowObj.nowLength
+=
ProcessBar.nowObj.moveRange;
ProcessBar.nowObj.obj.style.width
=
ProcessBar.nowObj.nowLength;
//
ProcessBar.nowObj.obj.parentNode.lastChild.firstChild.data = Math.ceil((ProcessBar.nowObj.nowLength/ProcessBar.nowObj.maxLength)*100) + "%";
if
(ProcessBar.nowObj.nowLength
>=
ProcessBar.nowObj.maxLength)
{
window.clearInterval(ProcessBar.nowObj.timer);
//
ProcessBar.nowObj.obj.parentNode.lastChild.firstChild.data = "Complete!";
//
执行事件
try
{
doProcessBarAction();
}
catch
(e)
{}
delBgDiv();
//
清除页面蒙版
}
}
}
//
var processBar = new ProcessBar(proc);
//
页面蒙版
function
createBgDiv()
{
var
h
=
document.body.clientHeight;
var
w
=
document.body.clientWidth;
var
div
=
document.createElement(
"
<div id='divDialogBg' style='position:absolute;visibility:visible;background:gray;filter:alpha(opacity=30);z-index:1000;left:0;top:0;
"
+
w
+
"
px;height:
"
+
h
+
"
px;'></div>
"
);
//
div.appendChild(document.createTextNode("xxxxxxxxxxxxxxxxxxxx"));
document.body.appendChild(div);
}
function
delBgDiv()
{
document.body.removeChild(document.getElementById(
"
divDialogBg
"
));
}
查看全文
相关阅读:
iOS block从零开始
iOS 简单动画 序列帧动画
iOS 简单动画 block动画
IOS 简单动画 首尾式动画
IOS 手势详解
IOS block 循环引用的解决
IOS GCD定时器
IOS TextField伴随键盘移动
IOS RunLoop面试题
IOS RunLoop 常驻线程的实现
原文地址:https://www.cnblogs.com/ding0910/p/1022561.html
最新文章
keil lib 库引起的报错
文件MD5 并复制到剪切板
C# 委托 事件
默认的 IIS MIME 类型关联 bat 类型
acl 库
winsap 连接 Ubuntu linux 19
单例模式
IOS Quartz2D 通过UIColor生成图片
iOS程序启动的过程及原理
我对XCode Objective-c Cocoa的简单理解
热门文章
IOS 音效
IOS Quartz2D简介
IOS 计步器
IOS 友盟使用详解
IOS xib在tableview上的简单应用(通过xib自定义cell)
IOS 应用跳转 (IOS9白名单)
IOS 瀑布流UICollectionView实现
IOS 图片轮播实现原理 (三图)
IOS contentOffset该如何理解
HTML5 -1- 简介
Copyright © 2011-2022 走看看