zoukankan      html  css  js  c++  java
  • 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方法继续执行

  • 相关阅读:
    【css】rem及其替换方案
    【css】如何实现环形进度条
    【js】我们需要无限滚动列表吗?
    【js】再谈移动端的模态框实现
    【js】callback时代的变更
    【js】为什么要使用react+redux
    【js】JavaScript parser实现浅析
    【css】回想下经典的布局
    【JS】温故知新: 从parseInt开始
    【渲染原理】浏览器渲染原理的个人整理
  • 原文地址:https://www.cnblogs.com/susanws/p/5390825.html
Copyright © 2011-2022 走看看