$.fn.retarder = function(delay, method) {
var node = this;
if (node.length) {
if (node[0]._timer_) clearTimeout(node[0]._timer_);
node[0]._timer_ = setTimeout(function() {
method(node);
},
delay);
}
return this;
};

原理就是用了setTimeout这函数, 使用方法

            $(div).retarder(150,
function(i) {
box.css({
height: box[0].hei - 50,
width: box[0].wid,
overflow: 'hidden'
});
i.css(animate.from).stop(true, true).animate(animate.to, {
duration: 200,
complete: function() {
if (!$.browser.msie) div.css('opacity', 1);
box.css('display', 'none')
}
})
})

使用实例基于缓冲器做成的图片轮播渐显插件如下:

HTML

                <div>
<img src="/images/1.png" />
</div>
<div>
<img src="/images/2.png" />
</div>
<div>
<img src="/images/3.png" />
</div>
<div>
<img src="/images/4.png" />
</div>
<div>
<img src="/images/5.png" />
</div>
</div>

jQuery

        $.fn.initSlideshow = function () {
var self = $(this);
self.find("div").each(function (n) {
var This = $(this);
This.retarder(n * 2000, function (node) {
node.fadeIn(1000, function () {
if (n == self.find("div").length - 1) {
/*self.find("div").fadeOut(1000).retarder(2000, function (node) {
node.fadeIn(1000);
});*/
self.find("div").retarder(5000, function (node) {
node.fadeOut(1000);
});
self.retarder(7000, function (node) {
node.initSlideshow();
});
}
});
});
});
};

CSS

        #slideshow {
width: 1040px;
height: 345px;
padding-left: 10px;
} #slideshow div {
float: left;
height: 345px;
line-height: 345px;
display: none;
}

简单的jQuery扩展函数-让函数缓冲执行的更多相关文章

  1. jQuery的$.get()函数不执行以及php端报错Uncaught Error: Call to a member function bind_param() on boolean in...

    写了一个html,用到了jQuery,发现没有按照预期的结果显示,最后定位到是$.get()函数没有运行 调试过程为: 在页面右击查看元素,到网络那一栏,找到类型为json的那个包点击,然后查看响应, ...

  2. Jquery ajax回调函数不执行

    ajax如下: $.post( "${pageContext.request.contextPath}/deptHead_assign.action", {"studen ...

  3. js、jquery的入口函数及其执行与图片加载的先后顺序

    js的入口函数写法: window.onload = function() { }; 如果文件中有多个window.onload入口函数,则只会执行最后一个,之前的入口函数没有用. jquery的入口 ...

  4. jQuery源码,匿名函数自执行

    jQuery框架的首尾是这样写的()(), (function(window){//这个window是个入参,随便起个名字都行 //这里面全都是js代码 })(window)//这个括号里的windo ...

  5. 使用jquery移除前面通过onclick绑定的元素的事件,然后重新绑定别的函数来执行onclick事件。

    http://caibaojian.com/css3/experience/bugs.htm 使用jquery移除前面通过onclick绑定的元素的事件,然后重新绑定别的函数来执行onclick事件. ...

  6. 关于jQuery中toggle参数callback函数提前执行问题

    通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法. 显示被隐藏的元素,并隐藏已显示的元素: $(selector).toggle(speed,call ...

  7. jQuery - 1.简单的JQuery

    1.简单的JQuery 2.jQuery对象(包装集).Dom对象 3.JQuery提供的函数 1.简单的JQuery $(document).ready(function () { alert(&q ...

  8. jQuery Ajax 操作函数及deferred对象

    jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...

  9. 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该 ...

随机推荐

  1. eclipse的使用一

    The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files ...

  2. java判断身份证有效性

    import java.util.Calendar; public class CertNoUtil { public static boolean vIDNumByRegex(String idNu ...

  3. 根据OSG中的ref_ptr和Reference简化的智能指针

    main.cpp测试代码 #include "TestSmartPointer" void fun() { SP<TestSmartPointer> sp1=new T ...

  4. 阻塞队列BlockingQueue 学习

    import java.util.Random; import java.util.concurrent.BlockingQueue; import java.util.concurrent.Time ...

  5. java annotation

    import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.an ...

  6. MVC4过滤器

    MVC4提供的四种基本类型过滤器接口,IAuthorizationFilter.IActionFilter.IResultFilter和IExceptionFilter,可通过继承对应的接口和Filt ...

  7. 43个优秀的Swift开源项目

    作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层出不穷.本文作者@SwiftLanguage从2014年6月苹果发布Swift语言以来,便通过 ...

  8. rabbitmq_config

    https://github.com/rabbitmq/rabbitmq-server/blob/stable/docs/rabbitmq.config.example   %% ---------- ...

  9. Android利用Gson解析嵌套多层的Json

    参考:http://www.cnblogs.com/jxgxy/p/3677256.html 比如我们要解析一个下面这种的Json: String json = {"a":&quo ...

  10. Codeforces Round #377 (Div. 2)D(二分)

    题目链接:http://codeforces.com/contest/732/problem/D 题意: 在m天中要考k个课程, 数组a中有m个元素,表示第a[i]表示第i天可以进行哪门考试,若a[i ...