如何控制执行click()一次,停止

莫怪,不知怎么组织语言
控制执行两次后停止

执行完成后 再自动执行click()一次,停止

clipboard.png

clipboard.png

阅读 3.7k
5 个回答
var count = 0;

while(count < 2){
    query();
    count++;
}

function query(){

}
var i = 0;
function query(){
    i = i + 1;
    if(i === 2){
        query = function(){};
    }
}

建议将代码直接贴出来,这样修改也方便很多,截图略麻烦

你的问题只需要在vipQuery函数里多加一个参数判断一下就行了,具体看代码中注释的解释

function vipQuery (url, i, boolean) {

    // 请求数据
    $.get(url, {
        timeout: 8000
    })
    // 请求成功
    .done(function () {})
    // 请求失败
    .fail(function (xhr, status) {
        // 如果boolean参数为false,则终止执行
        if(!boolean) {
            return false;
        }
        if (status == 'timeout' || status == 'error') {
            vipQuery(url, i, false);
        } else {
            console.log(status);
        }
    })

    // ... 其他逻辑处理
}

首次调用时,最后一个参数用true,第二次调用时,参数传false,这样就只会执行2次,不会无限执行了

vipQuery(url, i, true);

楼上几位说的都可

解决方案楼上已经很清晰了,补个建议~可以把标记定义在这个元素的属性里,这就比较安全了,不会造成全局变量污染。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题