2014-01-21 91 views
1

我在純JavaScript中有一個函數,它的右邊是一個div。這可以寫得更好,但我現在不擔心這一點。Javascript函數調用不執行

如果我手動撥打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()函數。

+0

爲什麼你的步驟都搞砸了? –

+1

檢查瀏覽器JS控制檯是否有任何JS錯誤; step2/3/4 ...方法可能會失敗,從而跳過flyout()調用 – rt2800

+1

它看起來像適用於我。 http://jsfiddle.net/nT8Ha/1/ – DutGRIFF

回答

1

瀏覽器可能不會在nextStep()中調用flyOut()調用。將console.log或在nextStep()中調用flyOut()調用的警報,看看它是否被調用。

+0

這是更多評論。 – DutGRIFF

+0

但是我還沒有50分,所以我不能評論。 –

+0

我無法將自己的答案標記爲「回答」了幾天,並且您幫助我找到了問題(警報向我顯示了錯誤)。有代表! – Farfromunique