forked from Mikhus/canvas-gauges
-
Notifications
You must be signed in to change notification settings - Fork 0
/
exact-ticks-bar.html
93 lines (83 loc) · 2.21 KB
/
exact-ticks-bar.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Gauge Test</title>
<script src="../gauge.min.js"></script>
<style>body {
padding: 0;
margin: 0;
background: #fff
}</style>
</head>
<body>
<button onclick="animateGauges()">Animate</button>
<button onclick="stopGaugesAnimation()">Stop animation</button>
<hr>
<canvas data-type="radial-gauge"
data-min-value="13"
data-max-value="87"
data-exact-ticks="true"
data-major-ticks="13,20,38,62,80,87"
data-minor-ticks="2"
data-highlights="0"
data-width="500"
data-height="500"
></canvas>
<canvas data-type="linear-gauge"
data-min-value="13"
data-max-value="87"
data-exact-ticks="true"
data-major-ticks="13,20,38,62,80,87"
data-minor-ticks="2"
data-highlights="0"
data-width="150"
data-height="500"
></canvas>
<canvas data-type="linear-gauge"
data-min-value="13"
data-max-value="87"
data-exact-ticks="true"
data-major-ticks="13,20,38,62,80,87"
data-minor-ticks="2"
data-highlights="0"
data-width="500"
data-height="150"
data-value="47"
></canvas>
<script>
if (!Array.prototype.forEach) {
Array.prototype.forEach = function(cb) {
var i = 0, s = this.length;
for (; i < s; i++) {
cb && cb(this[i], i, this);
}
}
}
document.fonts && document.fonts.forEach(function(font) {
font.loaded.then(function() {
if (font.family.match(/Led/)) {
document.gauges.forEach(function(gauge) {
gauge.update();
});
}
});
});
var timers = [];
function animateGauges() {
document.gauges.forEach(function(gauge) {
timers.push(setInterval(function() {
gauge.value = Math.random() *
(gauge.options.maxValue - gauge.options.minValue) +
gauge.options.minValue;
}, gauge.animation.duration + 50));
});
}
function stopGaugesAnimation() {
timers.forEach(function(timer) {
clearInterval(timer);
});
}
</script>
</body>
</html>