繁体   English   中英

javascript:如何正确循环此功能?

[英]javascript: How do I properly loop this function?

我不熟悉js编码,并且尝试过许多种方法来循环这段代码,还问我的一个朋友,他比我精通一点,他也不正确。 我也查找了如何在js中使用循环,但似乎很困惑,因此,如果您还可以给我有关js循环的基本解释,那就太好了!

原始码

function partA() {
var classes1 = document.getElementsByClassName('_jvpff _k2yal _csba8 _i46jh _nv5lf'); // finds follow button
var Rate1 = classes1[0];Rate1.click(); // clicks button1

}

setTimeout(partB, 20000); // begins func. B about 17 seconds after func a has been completed
function partB() {
var classes2 = document.getElementsByClassName('_de018 coreSpriteRightPaginationArrow'); // finds “next” arrow
var Rate2 = classes2[0];Rate2.click(); // clicks next arrow

}

partA(); // runs functions

原始代码本身可以正常工作,但是似乎无法与我使用的任何循环一起使用。

最近一次循环尝试 -注意:显然失败

function partA() {
var classes1 = document.getElementsByClassName('_jvpff _k2yal _csba8 _i46jh _nv5lf'); // finds follow button
var Rate1 = classes1[0];Rate1.click(); // clicks button1

}

setTimeout(partB, 20000); // begins func. B about 17 seconds after func a has been completed
function partB() {
var classes2 = document.getElementsByClassName('_de018 coreSpriteRightPaginationArrow'); // finds “next” arrow
var Rate2 = classes2[0];Rate2.click(); // clicks next arrow

}

partA(); // runs functions

for (i = 0; i < 30; i++) {
text += “The number is ” + i + “<br>”;

}

先感谢您! -迈克尔

任何一般改善代码的技巧也将不胜感激。

仍然无法准确计算出您要执行的操作(看起来是:试图在您无法控制源代码的某个页面中自动执行某些重复性任务)

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<title>JS Loop Example?</title>
<script>
function foo() {
    var div = $("#x")[0];
    div.innerHTML = "foo was clicked";
    for (i = 0; i < 5; i++) {
        div.innerHTML += "<br />!";
    }
    setTimeout(function(){ $('.barButton').click() }, 3000)
}
function bar() {
    var div = $("#x")[0];
    while (div.firstChild) {
        div.removeChild(div.firstChild);
    }
    var wibble = document.createTextNode('bar was clicked');
    div.appendChild(wibble);
    for (i = 0; i < 5; i++) {
        div.appendChild(document.createElement('br'));
        wibble = document.createTextNode('?');
        div.appendChild(wibble);
    }
    setTimeout(function(){ $('.fooButton').click() }, 3000)
}
</script>
</head>
<body onload='setTimeout(foo, 3000)'>
<script>
// Up until the close of the body, I can just write into the document.
document.write('<div id="x" class="stuffGoesHere">');
document.write('some random text<br />');
for (i = 0; i < 5; i++) {
    document.write('#<br />');
}
document.write('</div>');
document.write('<input type="button" class="fooButton" value="foo" onClick="foo()" />');
document.write('<input type="button" class="barButton" value="bar" onClick="bar()" />');
</script>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM