解决方案 »
- 怎样判断a链接的状态
- 数据不能插入数据库的问题
- 求一JS....
- 帮我看看,我给一个公司做了个网站(已完),应该收多少钱
- RADIO动态分组的问题没解决,能解决的两贴一并拿分,急等
- 通过一个可见按钮触发一个input file控件的问题,高手请进。
- 请教:文本框的onchange什么时候触发?
- 使用easyui 当在页面中插入fpspread出现错误
- 我们的页面载入用户点击的页面,并显示载入页面的title,这个怎么解决?求高手指点,最好是有代码,谢谢!
- 如何将iframe的内容去掉html标签后赋值到textarea中?
- 关于读取文本进行比较
- js如何实现像QQ邮箱编写邮件时候选择邮箱的传值
for(var i=0;i<10000000;i++)
{}
var d2=new Date();
alert(d2-d1);
等你取得结束的时间再和开始的时间相减,得到整个异步完成的时间的时候.这个过程不管时间长短,都已经结束了!还能达到你那种如果时间短就不显示LOADING的目的吗???
在没结束之前,在刚开始的时候,你根本没法知道下载的过程长短和具体时间.
作程序员的第一条就是头脑要清楚,否则学多少也都用不好.
打击你不是目的,对我更意味着分数的损失.但愿你正确理解,知道自己现在最需要锻炼加强哪方面的素质.毫不夸张说,这对你整个人生都是作用巨大的提示.
function sendRequest(){
clearTimeout(timer);
timer = setTimeout(function(){
showLoading();
}, 1000);
$.ajax({
url: xxx,
type: xxx,
success: function(){
clearTimeout(timer);
timer = null;
hideLoading();
},
error: function(){
}
})
}
//这里的LoadingElement是你的Loading层
function showLoading(){
$(LoadingElement).css('display', 'block');
}
function hideLoading(){
$(LoadingElement).css('display', 'none');
}
它的执行过程跟楼主以前那种方式没什么两样,都是最原始的方法,先显示LOADING提示,再隐藏.只不过你这个先显示只是推迟1秒.本质完全没分别.反而对于在1秒之内就返回的情况,会产生错误结果.更糟糕了.正确的方式,好好看看我说的,是在setTimeout里去检查那个代表已经返回内容的"隐藏的特殊标记".如果有,就直接退出完事,如果没有才显示LOADING.
"但是有的请求和响应的时间非常的快就不需要显示loading的效果,我想根据异步完成的时间来判断、?
不知有没有这种方法获取一次异步请求的时间?"
LZ需要得到的效果是很快就不显示loading, 只不过他想完成这个效果的思路错误. 你tm一上来就劈头盖脸的日他, 每个人都会犯错, 不能说他犯错了你就要把别人日死吧. 你说我理解不了你的思路. 你能理解我的思路?
"反而对于在1秒之内就返回的情况,会产生错误结果.更糟糕了."怎么糟糕了? 1秒内返回值你不会判断是否正确? 如果不正确你可以自行继续处理. 如果正确则皆大欢喜