zoukankan      html  css  js  c++  java
  • jquery等待特定元素加载再执行相关函数

    jQuery.fn.wait = function (func, times, interval) {
        var _times = times || 100, //100次
            _interval = interval || 20, //20毫秒每次
            _self = this,
            _selector = this.selector, //选择器
            _iIntervalID; //定时器id
        if( this.length ){ //如果已经获取到了,就直接执行函数
            func && func.call(this);
        } else {
            _iIntervalID = setInterval(function() {
                if(!_times) { //是0就退出
                    clearInterval(_iIntervalID);
                }
                _times <= 0 || _times--; //如果是正数就 --
                _self = $(_selector); //再次选择
                if( _self.length ) { //判断是否取到
                    func && func.call(_self);
                    clearInterval(_iIntervalID);
                }
            }, _interval);
        }
        return this;
    }

    默认是执行100次,每次间隔20毫秒,最长等待时间是2000毫秒(2秒),如果要一直等待到元素出现,可以将100改成任意负数。

    上面这段代码直接复制过去,调用方法:

     $(".buyGoods_guige_goods").wait(function(){BuyNow();})
    “.buyGoods_guige_goods”是需要等待出现的元素,“BuyNow()”是出现后需要执行的函数。
    是不是很方便呢?
  • 相关阅读:
    Java中的Java.lang.ThreadLocal类
    Java中线程的生命周期和状态
    Circular Linked List数据结构
    Linked List数据结构
    JVM如何工作
    JVM运行时数据区域
    queue数据结构
    stack数据结构
    Java中Set/HashSet的内部处理
    POJO,JavaBean 以及他们之间的区别
  • 原文地址:https://www.cnblogs.com/newgold/p/9927052.html
Copyright © 2011-2022 走看看