但是有时候任务不是固定的,无法按照这种固定的模式写下去,需要其他的实现
这是ES6 async,await版本的,借助Promise的resolve,当前面的异步事件执行完后,会调用后面任务的resolve,后面的会执行。
纯Promise的也好实现,不过需要各种回调。
行、列锁定是客户经常会对报表提的需求,确实,对于一张记录比较多的报表是非常有必要做行、列锁定的。下面的方法实现了任意行、列(排除数据列)的锁定。接下来说一下,我的实现思路。首先是要通过HTML项目增加一个DIV,包住列表或交叉表,然后通过js控制锁定行、列。
其中“DIV开始”HTML项目内容如下
DIV结束内容自己写一下,
不知道楼主问的是锁定页面还是整个计算机屏幕,如果后者就别想了,js不可能有那么大的权限,如果是锁定页面倒是好解决,用DIV+iframe盖住即可,再做个DIV上放一个文本框供输入解锁密码,密码正确就隐藏该DIV++iframe锁定页面大概的代码如下:
<script language="javascript">
document.onkeydown=function(){//Ctrl+A锁定页面
if((event.ctrlKey)&&(event.keyCode==65)){
lock()
event.returnValue=false}
}
function lock(){//alert("锁定")
document.getElementById("lock").style.display=""
document.body.scroll="no"
}
function ulock(psd){
if(psd=="123"){//密码为"123"
document.getElementById("lock").style.display="none"
document.body.scroll="auto"
}else{
alert("密码错误")
document.getElementById("psd").focus()
}
}
</script>
<DIV id="lock" style="z-index:10000background:#fffposition:absoluteleft:0top:0display:none">
<div>
请输入密码解锁:
<input type="text" id=psd />
<input type="submit" value="确定" onclick="ulock(document.getElementById('psd').value)"></div>
<iframe style="width:10000pxheight:10000px"></iframe>
</div>
以上代码只提供一种思路,还有很多细节应该注意到:比如屏蔽刷新和一些快捷键等,还有界面的美化等。
祝好运!