2015-11-08 1 views
-4

Я пытаюсь создать таймер, который функционирует так же, как на этом сайте: http://www.gaiacoin.com/ Таймер начинается с 7 миллиардов и считается вниз со скоростью 2,5 очка в секунду.Как создать таймер Javascript, где число начинается с 700000000 и отсчитывается на 2,5 в секунду.

Как написать эту функцию Javascript?

Спасибо!

+1

Первым шагом является изучение JavaScript. Второй - это его реализация. Выглядит довольно выполнимо для меня. – zerkms

+0

Покажите нам, что у вас есть. И мы поможем вам оттуда –

+0

Сейчас я работаю с этим: var x = 7000000000; setInterval (function() { x = Math.max (0, x - 2.5); document.getElementById ("field_name"). InnerHTML = "Часы Gaiacoin" + x;}, 1000); Теперь мне интересно, как сохранить функцию после выхода из страницы. – Drifter

ответ

1

в javascript функция setInterval будет вызывать определенную функцию каждые X миллисекунд на основе второго параметра.

var myNumber = 7000000000; 
var myInterval = setInterval(function(){ 
myNumber -= 2.5; 
},1000); 

1000 miliseconds .. так .. 1000 миллисекунд в секунду.

1

Вы должны использовать функцию setInterval, чтобы создать таймер, а затем используйте getElementById, чтобы найти это место в документе HTML, чтобы написать текст.

var x = 7000000000; 
setInterval(function() { 
    x = Math.max(0, x - 2.5); 
    document.getElementById("field_name").innerHTML = "Gaiacoin Clock " + x; 
}, 1000); 

Игнорировать все вниз голосов. Все, кто голосовал за ваш вопрос, в какой-то момент не знали ответа, и как мы узнаем, если мы не попросим о помощи.

+0

Как я могу сохранить эту функцию после выхода из этой страницы? – Drifter

+0

Вы могли бы сделать время начала относительно текущего времени, но поскольку я не знаю, на что стоит 7 миллиардов, я не могу советовать. – cgTag

+0

функция не может работать, если ее нет на странице –

0

Вот как я бы сделал это

var startValue = 7000000000; 

// arbitrarily started at midnight 7th November 2015 UTC 
// change to whatever you want, 
// or even read something from a cookie if you want 
var startTime = new Date(2015, 10, 7, 0, 0, 0); 

var perSec = 2.5; 

var beginOffset = new Date() - startTime; 
var startPerform = performance.now(); 
var displayValue; 

var go = function() { 
    var elapsed = beginOffset + (performance.now() - startPerform); 
    var value = Math.floor(startValue - perSec * elapsed/1000); 
    if(value != displayValue) { 
     console.log(displayValue = value); // do your output here 
    } 
} 
setInterval(go, 100);