尝试创建可重用的函数并在div中显示结果

时间:2014-06-06 15:13:45

标签: javascript jquery html

我正在尝试使用此功能。我所要做的就是将天,小时,分钟和秒的值放入.overTime div中。我想一遍又一遍地使用相同的函数,因为我有更多的div,我想以不同的方式显示相同的值。

你们真棒!谢谢。

    NowTime = new Date(); //Time Now
StartTime = new Date($('#StartTime').val());
StopTime = new Date($('#StopTime').val());

function fixIntegers(integer){
    if (integer < 0)
        integer = 0;
    if (integer < 10)
        return '0' + integer;
    return '' + integer;
}  
    function Test( difference )
    {
        var toReturn = { days: 0, hours: 0, minutes: 0, seconds: 0 };
        toReturn.seconds = fixIntegers(difference % 60);
        difference = Math.floor(difference / 60);    

        toReturn.minutes = fixIntegers(difference % 60);
        difference = Math.floor(difference / 60);

        toReturn.hours = fixIntegers(difference % 24);
        difference = Math.floor(difference / 24);

        toReturn.days = fixIntegers(difference);
        return toReturn;
    }

    function run()
    {
        var output = Test( Math.floor( ( NowTime - StopTime ) / 1000 ) );
        $('.OverTime').html( output.days + ':' + output.hours + ':' + output.minutes + ':' + seconds);
    }
setInterval(run, 1000)

FIDDLE:http://jsfiddle.net/8943U/47/

1 个答案:

答案 0 :(得分:1)

你的第一个问题是:

$('.OverTime').html( output.days + ':' + output.hours + ':' + output.minutes + ':' + seconds);

应该是:

$('.OverTime').html( output.days + ':' + output.hours + ':' + output.minutes + ':' + output.seconds);

变量seconds不存在,您需要output.seconds。然后您的函数将开始工作see here

你的第二个问题是那些值是NaN,我会留给你解决那个。

干杯!