简单的jQuery扩展函数-让函数缓冲执行

$.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‘)
                    }
                })
            })

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。