使用$.when(延迟对象1, 延迟对象2).done( function(对象1返回值, 对象2返回值){ ... });
为无为等地区用户提供了全套网页设计制作服务,及无为网站建设行业解决方案。主营业务为成都做网站、成都网站建设、无为网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
var d1 = $.Deferred();
var d2 = $.Deferred();
$.when( d1, d2 ).done(function ( v1, v2 ) {
console.log( v1 ); // "Fish"
console.log( v2 ); // "Pizza"
});
d1.resolve( "Fish" );
d2.resolve( "Pizza" );
$.when()方法可以接受0个或多个参数, 多个参数用逗号分隔, 这些参数可以是普通对象也可以是延迟对象(包括常用的异步请求), 然后返回一个jquery延迟对象, 可以对其使用then, done, always等方法.
你上面那样写只会造成死循环。
// 手打,可能存在一些代码写错。
// 最简单的
setTimeout(function(){
document.getElementById("buyNowAddCart").click()
setTimeout(function(){
document.getElementById("proPopSubmit").click();
setTimeout(function(){
document.getElementById("submit-btn").click();
},1*1000)
},1*1000)
},1*1000) // 1秒
// 进阶一点,把setTimeout拆分出来,方便控制,和代码阅读。
function openTimeout(callback,second){
// 判断cb有没有,实际上完整的代码是判断是否是一个function,这里简单就判断是否为空。
callback setTimeout(callback,second*1000);
}
openTimeout(function(){
document.getElementById("buyNowAddCart").click();
openTimeout(function(){
document.getElementById("proPopSubmit").click();
openTimeout(function(){document.getElementById("submit-btn").click();},1);
}),1;
},1)
// 如果一直要循环,那么可以把这些代码放在一个方法里
function fn(){
openTimeout(function(){
document.getElementById("buyNowAddCart").click();
openTimeout(function(){
document.getElementById("proPopSubmit").click();
openTimeout(function(){
document.getElementById("submit-btn").click();
openTimeout(fn,1); // 当最后一个click完成,又开始加个定时器调用fn方法从而循环执行三个click
},1);
},1);
},1)
}
fn(); // 开始执行三个click,每过一秒
页面加载等待特效,当数据加载完成效果消失的代码如下:
$.ajax({
url:"",
type:"post",
data:{"xx":"xx"},
beforeSend:function(){
//这里是开始执行方法,显示效果,效果自己写
},
complete:function(){
//方法执行完毕,效果自己可以关闭,或者隐藏效果
},
success:function(){
//数据加载成功
},
error:function(){
//数据加载失败
}
});
html
head
script type="text/javascript" src="jq/jquery.js"/script
/head
script type="text/javascript"
$(function() {
$("#div").mouseout(function(){
setTimeout(function(){$("#div2").hide()}, 3000);
});
});
/script
body
input type="text" value="div" id="div"
div id="div2"
鼠标离开div,等待3秒钟后此段隐藏
/div
/body
/html
JS:
setTimeout("这里写你等待1秒后执行的函数名",1000);
例:
function showHello()
{
document.write("你好!");
}
setTimeout("showHello()",1000);
可以这样:
var menu=getid("menu");
var li=gettag("li",menu);
for(var i=0;ili.length;i++){
li[i].onmouseover=function(){
if(this.className.indexOf("show")0)
{
setTimeout("showHello(this)",1000);
}
}
li[i].onmouseout=function(){
$(this).removeClass("show");
}
}
function showHello(obj)
{
$(obj).addClass("show");
}