js 蒙版进度条(结合图片)


Posted in Javascript onMarch 10, 2010
/******************** 
** js 蒙版进度条(图片) 
** dingzh@jstrd.com 
** 2009-12-03 
*********************/ //禁止网页后退 
window.history.forward(1); 
document.attachEvent("onkeydown",docKeyDown); 
function docKeyDown() { 
//屏蔽退格删除键 
if (window.event.keyCode == 8) { 
if(window.event.srcElement.type != "text" 
&& window.event.srcElement.type != "textarea" 
&& window.event.srcElement.type != "password") { 
window.event.keyCode = 0x0; 
return false; 
} else if(window.event.srcElement.readOnly) { 
window.event.keyCode = 0x0; 
return false; 
} 
} 
} 

//加载进度条 
var process_submit_doing = false; 
try { 
window.attachEvent("onload",doBodyLoad); 
//document.attachEvent("onclick",doProcess); 
window.attachEvent("onbeforeunload",doWinLoad); 
} catch(e) { 
document.addEventListener("onclick",doProcess,false); 
window.addEventListener("onbeforeunload",doWinLoad,false); 
} 
// 
function doBodyLoad() { 
var obj; 
var vInput=document.getElementsByTagName("INPUT"); 
for(var i in vInput) { 
obj=vInput[i]; 
if(obj.type=="button" || obj.type=="submit") { 
obj.attachEvent("onclick",doProcess); 
} 
} 
vInput=document.getElementsByTagName("IMG"); 
for(var i in vInput) { 
obj=vInput[i]; 
if(undefined != obj.alt) { 
obj.attachEvent("onclick",doProcess); 
} 
} 
} 
// 
function doWinLoad() { 
process_submit_doing = true; 
} 
// 
function doProcess() { 
//是否正在提交 
if(!process_submit_doing) { 
return; 
} 
// 
var showProcess = false; 
//捕获事件源 
var eventObj = event.srcElement; 
var btnvalue = ""; 
if(eventObj.tagName=='INPUT') { 
btnvalue = eventObj.value; 
} else if(eventObj.tagName=='IMG') { 
if(null != eventObj.alt && "" != eventObj.alt) { 
btnvalue = eventObj.alt; 
} else { 
btnvalue = eventObj.title; 
} 
} 
btnvalue = btnvalue.replace(/ */g,"").replace(/ */g,""); 
// 
var my_array = new Array(); 
my_array.unshift("提交", "确定", "保存", "暂存", "结账", "审核", "审批", "作废", "回退", "退回", "驳回", 
"退单", "撤消", "导入", "受理", "办理", "处理", "查询", "入库", "入账", "出库", "出账"); 
for (i = 0; i < my_array.length; i++) { 
if(new RegExp(my_array[i],"ig").test(btnvalue)) { 
showProcess = true; 
break; 
} 
} 
//alert(showProcess); 
//不显示进度条 
if(!showProcess) { 
return; 
} 
// 
createProcessBgDiv(); 
} 

function nocontextmenu() 
{ 
event.cancelBubble = true 
event.returnValue = false; 
return false; 
} 
function norightclick() 
{ 
if (event.button == 2 || event.button == 3) 
{ 
event.cancelBubble = true 
event.returnValue = false; 
return false; 
} 
} 
//页面蒙版 
function createProcessBgDiv() 
{ 
var h=document.body.scrollHeight; 
var w=document.body.scrollWidth; 
var div=document.createElement("<div id='divProcessBg' style='position:absolute;visibility:visible;background:gray;filter:alpha(opacity=30);z-index:1000;left:0;top:0;width:"+w+"px;height:"+h+"px;'></div>"); 
//div.appendChild(document.createTextNode("xxxxxxxxxxxxxxxxxxxx")); 
div.appendChild(document.createElement("<iframe src='javascript:false' style='position:absolute; visibility:inherit; top:0px; left:0px; width:"+w+"px;height:"+h+"px; z-index:-1; filter=\"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)\";'></iframe>")); 
document.body.appendChild(div); 
document.body.appendChild(document.createElement("<div style='position:absolute;z-index:1002;left:0;top:0;width:"+w+"px;height:"+h+"px;background:url(/upload/2010-3/20100310161010599.gif) no-repeat center center;'></div>")); 
//屏蔽鼠标右键 
document.oncontextmenu = nocontextmenu; // for IE5+ 
document.onmousedown = norightclick; // for all others 
} 
/*function delProcessBgDiv() 
{ 
document.body.removeChild(document.getElementById("divProcessBg")); 
document.onmousedown = null; 
} */
Javascript 相关文章推荐
更正确的asp冒泡排序
May 24 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
innerText 使用示例
Jan 23 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
js类式继承与原型式继承详解
Apr 07 Javascript
微信小程序开发之实现自定义Toast弹框
Jun 08 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
javascript数组元素删除方法delete和splice解析
Dec 09 Javascript
Vue实现兄弟组件间的联动效果
Jan 21 Javascript
JavaScript利用键盘码控制div移动
Mar 19 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 Javascript
javascript 事件查询综合 推荐收藏
Mar 10 #Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 #Javascript
Jquery替换已存在于element上的event的方法
Mar 09 #Javascript
JQery jstree 大数据量问题解决方法
Mar 09 #Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
Mar 09 #Javascript
js 无提示关闭浏览器页面的代码
Mar 09 #Javascript
JS 无法通过W3C验证的处理方法
Mar 09 #Javascript
You might like
PHP实现的简单分页类及用法示例
2016/05/06 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
广告代码静态化js通用函数
2007/05/09 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python Property属性的2种用法
2015/06/21 Python
python用户管理系统
2018/03/13 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
Python 从attribute到property详解
2020/03/05 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
新电JAVA笔试题目
2014/08/31 面试题
幼儿园秋游感想
2014/03/12 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
聘任合同书
2015/09/21 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书