2017-04-05 90 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);