Skip to content

Instantly share code, notes, and snippets.

@maximishchenko
Last active May 6, 2016 13:55
Show Gist options
  • Save maximishchenko/bd6bcdfda432fa87fea7ca088d6d38be to your computer and use it in GitHub Desktop.
Save maximishchenko/bd6bcdfda432fa87fea7ca088d6d38be to your computer and use it in GitHub Desktop.
JavaScript_Counters
<div id="result"></div>
<button id="test">test</button>
<script type="text/javascript">
/**
*elem - элемент для отображения счетчика
*value - конечное значение счентчика
*inc - увеличение либо уменьшение (true/false - увеличение/уменьшение)
*shift - шаг изменения значения
*speed - скорость
**/
var setValue = function(elem, value, inc, shift, speed) {
var interval = false;
if (inc) {
interval = setInterval(function() {
if (elem.innerHTML * 1 + shift >= value) {
elem.innerHTML = value;
clearInterval(interval);
} else {
elem.innerHTML = elem.innerHTML * 1 + shift;
}
}, speed);
} else {
interval = setInterval(function() {
if (elem.innerHTML * 1 - shift <= value) {
elem.innerHTML = value;
clearInterval(interval);
} else {
elem.innerHTML = elem.innerHTML * 1 - shift;
}
}, speed);
}
};
document.getElementById('test').onclick = function() {
var result = document.getElementById("result");
var startdate = new Date("4/1/2016");
var today = new Date();
var timeDiff = Math.abs(today.getTime() - startdate.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
setValue(result, diffDays, true, 1, 0);
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment