我有一个纯 JavaScript 函数,可以从右侧飞出一个 div。这可以写得更好,但我现在并不担心这一点。
如果我手动调用flyout()
,它就会执行它应该执行的操作。如果我调用 nextStep()
,它会执行它应该执行的所有其他操作,除了调用 flyout()
。
这些函数位于同一个文件中。
function flyout() {
window.phases.style.left = window.innerWidth - (window.phases.style.width.replace("px","").valueOf());
window.flown = true;
phasesName = document.getElementById("phasesName");
phasesBody = document.getElementById("phasesBody");
phasesName.style.display = "none";
phasesBody.style.display = "block";
}
function nextStep() {
switch (window.stepName) {
case "Step1":
stepName = "Step2";
step2();
break;
case "Step2":
stepName = "Step3";
step3();
break;
case "Step3":
stepName = "Step4";
step4();
break;
case "Step4":
stepName = "Step5";
step4();
break;
};
flyout();
}
它可以完成我想要的一切,除了调用 flyout()
函数。
最佳答案
浏览器可能没有真正开始执行 nextStep() 中的 FlyOut() 调用。将 console.log 或有关 FlyOut() 调用的警报放入 nextStep() 中,看看它是否被调用。
关于Javascript 函数调用未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249850/