jquery 延迟执行

$(function(){
    var $inputs = $('input[type=button]')
        .delay(500)
        .queue(function(){$(this).hide().dequeue();})
        .delay(1500)
        .queue(function(){$(this).show();});
});
以上代码让页面中的按钮在页面加载后500毫秒隐藏,然后再过1500毫秒显示出来。  

$(function(){
    var $inputs = $('input[type=button]')
        .delay(500)
        .queue(function(){$(this).hide().dequeue();})
        .delay(1500)
        .show(1);
        //.queue(function(){$(this).show();});
});
以上代码效果与前面的代码相同。

$(function(){
    var $inputs = $('input[type=button]')
        .delay(500)
        .queue(function(){$(this).hide();})
        .delay(1500)
        .show(1);
        //.queue(function(){$(this).show();});
});
以上代码同样只隐藏,不会再显示,相比代码2,queue里的代码没有调dequeue,由此可知,queue执行完后,也中止了动画队列的继续执行,需要调用dequeue使其执行下去(这里queue里的hide()不是一个动画,而将当前对象的动画放在queue里执行也会有问题)。

$(function(){
    var $inputs = $('input[type=button]')
        .delay(500)
        .queue(function(){$(this).hide().dequeue();})
        .delay(1500)
        .show();
        //.show(1);
});
以上代码只隐藏,而不会再显示!!这里show不再指定显示动画时长,则show方法不再是一个动画。由此可知,dequeue只能使得动画队列中的后续方法执行下去,不能使非动画队列中的jquery方法继续执行!



转载于:https://www.cnblogs.com/wyang0126/p/5039944.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值