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()”是出现后需要执行的函数。
    是不是很方便呢?
  • 相关阅读:
    grpc(五)
    go的代码库
    grpc(四)
    grpc(三)
    grpc(二)
    grpc(一)
    java的泛型
    如何学习编程语言
    老男孩K8S集群部署(二)
    VMware虚拟机状态正常,但SecureCRT连接时显示超时的解决方法
  • 原文地址:https://www.cnblogs.com/newgold/p/9927052.html
Copyright © 2011-2022 走看看