Javascript 如果条件未按预期工作

原文 标签 javascript html

我创建了一个具有循环操作的脚本,并设置了停止该脚本的条件。第一个if工作正常,但不是第二个,当我设置 maxClick ,脚本忽略 if条件并继续运行脚本。

这是我的完整脚本

var className   = ".link" ;
var delay       = 0.1 * 1000 ; //0.1 Seconds
var maxClick     = 5;


//Bind event handler
var element = document.querySelectorAll(className);
for (var j = 0; j < element.length; j++) {
    element[j].addEventListener('click', function() {
        // Optional Function On Click Event
    }, false)
}

var i = 0 ;
function change() {
    if (i == maxClick ) {
        clearInterval(interval);
        alert("Clicked Link: " + element.length);
    }
    if (i == element.length && interval) {
        clearInterval(interval);
        alert("Clicked Link: " + element.length);
    }
    element[i++].click();
}

change();
var interval = setInterval(change, delay);
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>
<a class="link">Link</a>


Here's the fiddle

最佳答案

您的代码似乎运行正确。当(i == maxClick ) interval因此第二个 if 被清除 block 没有被执行。我假设您感到困惑,因为您在两个 block 中使用了相同的警报值。尝试这样做:

if (i == maxClick ) {
    clearInterval(interval);
    alert("Clicked Link: " + i);
}

关于Javascript 如果条件未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40901987/

相关文章:

javascript - 如何从元素中查询选择器子项(仅)?

javascript - 在HTML标签内调用javascript函数

javascript - 文本在 DOM 中是否也被视为节点?

javascript - 从 CSS 切换按钮触发 Jquery 事件

javascript - JavaScript菜单样式-循环内循环

javascript - 为什么这个 for 循环日志 "undefined"?

spring - 我们可以用 HTML5 从手机的相机上传照片吗

javascript - 自定义拖放脚本上的怪异js行为

javascript - 在javascript中将ulong转换为8字节数组

javascript - 将节点从不同的数组移动到一个数组,然后再次将其移动到angularjs中的父数组