<!DOCTYPE html> <head> <script type="text/javascript" src="jquery-1.12.4.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#btnWait").click(function() { CallAsync(); }); }); function Task(count) // 长时间的任务 { for(var k = 1; k <= count; k++) { var x = Math.sqrt(2017) * Math.sqrt(2016); } } function CallAsync() { var div = "<div id='waitPanel' style='position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: silver; opacity: 0.05'></div>"; $(document.body).append(div); // 以div块隔离网页与操作者 $(document.body).css("cursor", "wait"); // 显示一个wait光标 var observer = $.Deferred(function(defObj) // 获取一个延迟对象 { setTimeout(function() { Task(999999999); defObj.resolve(); // 任务结束后发送一个done事件通知 }, 100); // 100毫秒后执行长时间的任务 }); observer.done(function() // 给延迟对象订阅一个done事件 { $("#waitPanel").remove(); $(document.body).css("cursor", ""); alert("async task done."); }); } </script> </head> <body> <input id="btnWait" type="button" value="WaitCursor" /> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2011-01-31 2010工作代码总结之四(repostioryItemCheckEdit复选框)
2011-01-31 2010工作代码总结之三(repostioryItemGridLookUpEdit下拉框)
2011-01-31 2010工作代码总结之2(TreeList树形控件)