上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

求教大佬,为什么循环不能停止!

[复制链接]

该用户从未签到

1

主题

0

回帖

4

积分

助理工程师

积分
4
发表于 2022-5-5 16:57:39 | 显示全部楼层 | 阅读模式

var intervalId = null;
var varCounter = 0;
var varName = function(){
if(varCounter <= 3) {
varCounter++;
$('.n:contains(下一页)')[0].click();
} else {
clearInterval(intervalId);
}
};
$(document).ready(function(){
intervalId = setInterval(varName, 1000);
});

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    633

    主题

    5173

    回帖

    6052

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6052

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-5-5 17:07:38 | 显示全部楼层
    这个我们很难知道的
    可以打个debugger一步一步追一下看看
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情

    2023-10-19 09:35
  • 签到天数: 66 天

    [LV.6]常住居民II

    6

    主题

    126

    回帖

    219

    积分

    高级工程师

    积分
    219

    油中2周年生态建设者

    发表于 2022-5-6 14:12:37 | 显示全部楼层
    如果只是循化计数,代码并没有什么大毛病,但是……

    1. $('.n:contains(下一页)')[0].click();
    复制代码

    这里点的是啥?超链接?会让浏览器产生重定向行为吗?如果这个点击下一页的动作不是ajax,而是不断的打开下一页,那么你的代码就会不断的重复执行。

    你可以通过 localStorage 或者 sessionStorage 来缓存一下计数,或者当前页面的ID,用来比较
    回复

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 119 天

    [LV.6]常住居民II

    29

    主题

    598

    回帖

    535

    积分

    专家

    积分
    535

    油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-5-6 16:49:09 | 显示全部楼层
    极品小猫 发表于 2022-5-6 14:12
    如果只是循化计数,代码并没有什么大毛病,但是……

    大佬我插一句
    从代码本身看,这只是一个片段,不能保证别的地方不会误调用。也不能保证var 的变量就在此处销毁了,细究起来就这一段代码都不够严谨。
    作者也不太可能点了一下就在刷新网页都觉察不到。
    小白宁愿相信错误不在此处,大佬你说呢
    用 localStorage 或者 sessionStorage来缓存计数更是结婚头一天去买气球,这简单的一段逻辑,需要大张旗鼓来个很复杂的方法吗?请大佬明察
    入驻爱发电 让这世界充满爱 https://afdian.net/a/vpannice
    回复

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 119 天

    [LV.6]常住居民II

    29

    主题

    598

    回帖

    535

    积分

    专家

    积分
    535

    油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-5-6 17:22:59 | 显示全部楼层
    仔细看看,也许这代码本身也有问题
    clearInterval(intervalId);  intervalId似乎是个空值 干叉屁了
    上面代码得挪到 $(document).ready 里面去
    捂脸我靠
    入驻爱发电 让这世界充满爱 https://afdian.net/a/vpannice
    回复

    使用道具 举报

  • TA的每日心情

    2023-10-19 09:35
  • 签到天数: 66 天

    [LV.6]常住居民II

    6

    主题

    126

    回帖

    219

    积分

    高级工程师

    积分
    219

    油中2周年生态建设者

    发表于 2022-5-6 17:24:05 | 显示全部楼层
    脚本体验师001 发表于 2022-5-6 16:49
    大佬我插一句
    从代码本身看,这只是一个片段,不能保证别的地方不会误调用。也不能保证var 的变量就在此 ...

    你也只是说了一种可能,但并不能证明我说的不可能?

    如果使用储存接口算作复杂的方法,你倒是提供一个简单高效的办法来表现你的睿智,让人大呼ggnb!而不是处处想着怎么让你的观点在其他人面前表现得鹤立独行。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 119 天

    [LV.6]常住居民II

    29

    主题

    598

    回帖

    535

    积分

    专家

    积分
    535

    油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-5-6 17:34:35 | 显示全部楼层
    本帖最后由 脚本体验师001 于 2022-5-6 17:35 编辑
    极品小猫 发表于 2022-5-6 17:24
    你也只是说了一种可能,但并不能证明我说的不可能?

    如果使用储存接口算作复杂的方法,你倒是提供一个简 ...

    好,反正小白不要脸,要脸的都是大佬
        var waitCount, waitId = waitCount = setInterval(function() {
            if (++waitCount - waitId > 3) {
                clearInterval(waitId);
            } else {
                //代码
            }
        }, 500);
    试问大佬这能不能完成楼主的逻辑

    入驻爱发电 让这世界充满爱 https://afdian.net/a/vpannice
    回复

    使用道具 举报

  • TA的每日心情

    2023-10-19 09:35
  • 签到天数: 66 天

    [LV.6]常住居民II

    6

    主题

    126

    回帖

    219

    积分

    高级工程师

    积分
    219

    油中2周年生态建设者

    发表于 2022-5-6 17:47:57 | 显示全部楼层
    脚本体验师001 发表于 2022-5-6 17:34
    好,反正小白不要脸,要脸的都是大佬
        var waitCount, waitId = waitCount = setInterval(function() { ...

    小白就想问了,你说楼主的代码不严谨

    可你这急冲冲写出来的代码,waitCount 能 ++waitCount?

    1. $('.n:contains(下一页)')[0].click();
    复制代码

    再者,或许我的猜想不一定是对的,但如果真如我的猜想,这真的重定向了页面,你这最后的结果有什么本质不一样?

    回复

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 119 天

    [LV.6]常住居民II

    29

    主题

    598

    回帖

    535

    积分

    专家

    积分
    535

    油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-5-6 17:57:47 | 显示全部楼层
    极品小猫 发表于 2022-5-6 17:47
    小白就想问了,你说楼主的代码不严谨

    可你这急冲冲写出来的代码,waitCount 能 ++waitCount?

    好吧,如果楼主连页面重定向都不知道,那我们的讨论也没有意义
    ggnb yyds
    入驻爱发电 让这世界充满爱 https://afdian.net/a/vpannice
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2022-7-11 09:04
  • 签到天数: 33 天

    [LV.5]常住居民I

    4

    主题

    35

    回帖

    51

    积分

    初级工程师

    积分
    51
    发表于 2022-5-6 18:41:30 | 显示全部楼层
    大佬争论,小白懵逼
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表