我写了简短的JavaScript代码来替换3次点击后的元素。超过3次点击后,元素将自己替换为url。但是问题在于它无法正常工作。 3次单击后,我试图使其替换为自己,但可能将其编码错误。请赐教。
原始代码:
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("replace1").innerHTML = this.responseText;
}
};
xhttp.open("GET", "https://natevanghacks.com/replacements/yoinkexecutor2.html"), true;
xhttp.send();
}
重新编码后仅可点击3次,但无效:
function loadDoc() {
var xhttp = new XMLHttpRequest();
let count = 0;
let callback = function() {
count++;
if (count >= 3) {
document.getElementById("replace1").innerHTML = this.responseText;
}
iframe1.click(callback);
xhttp.open("GET", "https://natevanghacks.com/replacements/yoinkexecutor2.html"), true;
xhttp.send();
}
};
答案 0 :(得分:1)
将count
设置为全局变量意味着超出函数范围:
let count = 0;
function loadDoc() {
var xhttp = new XMLHttpRequest();
let callback = function() {
count++;
if (count >= 3) {
document.getElementById("replace1").innerHTML = this.responseText;
}
iframe1.click(callback);
xhttp.open("GET", "https://natevanghacks.com/replacements/yoinkexecutor2.html"), true;
xhttp.send();
}
};
在函数中定义count
时,每次计数都重置为其默认值0
这就是为什么您需要在函数之外定义count
。