Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我只是希望第二个函数在第一个函数之后运行,以此类推。第一个函数在html页面中由body onload=";调用;runOne();_Javascript - Fatal编程技术网

Javascript 我只是希望第二个函数在第一个函数之后运行,以此类推。第一个函数在html页面中由body onload=";调用;runOne();

Javascript 我只是希望第二个函数在第一个函数之后运行,以此类推。第一个函数在html页面中由body onload=";调用;runOne();,javascript,Javascript,这个问题以前有人问过,但用jquery回答过,请简单地查找一个非jquery语法的示例,如果不可能仅在前一个示例使用javascript完成后才能按顺序运行,请解释原因?我理解同步和异步代码的概念,因此也不需要对这些术语进行定义。仅仅是一个工作示例,已经提供了足够的代码 从第一个函数调用第二个函数,如下所示: function runOne() { rightBox.style.animation = "scrollTextTwo 10s 1"; } function runTwo()

这个问题以前有人问过,但用jquery回答过,请简单地查找一个非jquery语法的示例,如果不可能仅在前一个示例使用javascript完成后才能按顺序运行,请解释原因?我理解同步和异步代码的概念,因此也不需要对这些术语进行定义。仅仅是一个工作示例,已经提供了足够的代码

从第一个函数调用第二个函数,如下所示:

function runOne() {
    rightBox.style.animation = "scrollTextTwo 10s 1";
}

function runTwo() {
    rightBoxTwo.style.animation = "scrollTextTwo 10s 1";
}

function runThree() {
    rightBoxThree.style.animation = "scrollTextTwo 10s 1";
}
无法实现仅在第一个完成后运行一个的目标,因此请使用setTimeout

function runOne() {rightBox.style.animation = "scrollTextTwo 10s 1"; runTwo();}
您也可以尝试使用该事件


是否有办法仅在第一个函数完成后运行第二个函数,而不考虑第一个或第二个函数需要多少时间?或者javascript没有检测到函数的完成情况?@German从动画属性中提取时间,乘以1000并传递给setTimeout。或者只使用动画时间创建一个变量,并将其传递给animation属性,然后设置Timeout.try此按钮无效-函数runOne(){rightBox.style.animation=“scrollTextTwo 10s”}函数runTwo(){rightBoxTwo.style.animation=“scrollTextTwo 10s”}函数runThree(){rightBoxTwo.style.animation=“scrollTextTwo 10s”}rightBox.addEventListener(“animationend”,runTwo,false);如果您希望动画计时100%准确,我想最好捕获动画结束事件,也许或者可以提供帮助。
function runOne() {
    rightBox.style.animation = "scrollTextTwo 10s 1";
    setTimeout(runTwo,10000);
}
rightBox.addEventListener("transitionend",runTwo, false);