Javascript图像计时器似乎没有正常运行

时间:2017-01-04 17:30:04

标签: javascript

这似乎没有正常运作:

Module build failed: Error: F:/Tutorial/angular2/ngTutorial/src/app/common/store/todo.store.ts (7,5): Public property 'store
' of exported class has or is using name 'Store' from external module "F:/Tutorial/angular2/ngTutorial/node_modules/redux/in
dex" but cannot be named.)

如果时间以秒为单位,计时器工作正常,但我需要它在几个小时内。具体而言,第一张图像为1小时,其余为24小时。可能是秒数太长了吗?它必须以毫秒为单位吗?

2 个答案:

答案 0 :(得分:1)

setTimeout使用32位int来存储延迟,因此可能的最大值为2147483647.。

因此,您最多可以获得596.52小时,足以满足您的需求。

但是,它必须以毫秒为单位,因为这是setTimeout()接受的唯一单位。

除非在将值发送到函数之前添加转换逻辑。

答案 1 :(得分:0)

该函数需要几毫秒,但您可以在函数中使用该转换逻辑:

function changeImage() {
  document.getElementById('candle').src = images[x].src;
       if (x<images.length) {
         x+=1;
       }else{
         x=0;
  }
  var milisecondTimeout = 1000 * 3600 * images[x].timeout;
  timeout = window.setTimeout(function() {changeImage()}, milisecondTimeout);
  }

然后你可以用几个小时而不是毫秒来推动你的图像:

images.push({src: "http://www.mountsinaiparks.org/digital-yahrzeit/wp-content/themes/yahrzeit-theme/Candle_images/Candle01.gif", timeout: 1});

希望这有帮助