2017-04-05 91 views
1

我有一些JavaScript代碼,似乎不會自動更新頁面上,任何想法?我有正確的setInterval?setInterval在JavaScript中不工作

function updatePrice(id, currentPrice){ 

    var newPrice = 0; 
    currentPrice = currentPrice * 100 
    if(rate == 1){ 
     newPrice = currentPrice - 1; 

    } 
    if(rate == 2){ 

     newPrice = currentPrice - 2; 
    } 
    if(rate == 3){ 

     newPrice = currentPrice - 3; 
    } 
    document.getElementById(id).innerHTML = newPrice; 
} 

updatePrice('reverse', currentPrice); 
var timeinterval = setInterval(updatePrice, 60000); 

編輯 感謝大家的幫助下,我通過updatePrice傳遞參數的唯一問題是,我希望價格下降的每一分鐘,我如何設置參數包括已計算出的新價格在updatePrice函數中?例如,我認爲我需要類似於: setInterval(function(){updatePrice('reserve',newPrice);},60000);

newPrice是剛剛在updatePrice中計算的價格。

希望這是有道理的。

+3

您的間隔調用'updatePrice'但不能傳遞任何參數... –

+0

在你的setInterval,你調用不帶參數的updatePrice。 – Repo

+0

錯誤控制檯可能會提供照明。 'currentPrice'似乎是一個全局和一個參數名稱,後者影響前者。 –

回答

2

試試這個setInterval(function() { updatePrice(10,3); }, 60000);

0
function updatePrice(id, currentPrice){ 
    var newPrice = 0; 
    currentPrice = currentPrice * 100 
    if(0 < rate && rate < 4) {   // shorten this (it's clearer) 
     newPrice = currentPrice - rate; 
    } 
    document.getElementById(id).innerHTML = newPrice; 
} 

updatePrice('reverse', currentPrice); // calling updatePrice with parameters (OK) 
var timeinterval = setInterval(function() [ 
    updatePrice(/* SOME PARAMETERS ARE NEEDED HERE */); // should pass in some params 
}, 60000);