jquery代码链实现延时执行代码【补:几点注意】

上一篇:jquery代码链实现延时执行代码的较优雅办法介绍了使用jquery的动画接口实现定时、延时执行代码的链式编写方法,补充几点注意事项:

  1. $(function(){
        var $inputs = $('input[type=button]')
            .delay(500)
            .queue(function(){$(this).hide().dequeue();})
            .delay(1500)
            .queue(function(){$(this).show();});
    });

    以上代码让页面中的按钮在页面加载后500毫秒隐藏,然后再过1500毫秒显示出来。  

  2. $(function(){
        var $inputs = $('input[type=button]')
            .delay(500)
            .queue(function(){$(this).hide().dequeue();})
            .delay(1500)
            .show(1);
            //.queue(function(){$(this).show();});
    });

    以上代码效果与前面的代码相同。  

  3. $(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里执行也会有问题)。

  4. $(function(){
        var $inputs = $('input[type=button]')
            .delay(500)
            .queue(function(){$(this).hide().dequeue();})
            .delay(1500)
            .show();
            //.show(1);
    });

    以上代码只隐藏,而不会再显示!!这里show不再指定显示动画时长,则show方法不再是一个动画。由此可知,dequeue只能使得动画队列中的后续方法执行下去,不能使非动画队列中的jquery方法继续执行!  

posted @   Think  阅读(1618)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2008-10-16 过度合理化效应
2008-10-16 登门槛策略
2007-10-16 [人才推荐]推动事情进展型--于飞
点击右上角即可分享
微信分享提示