| 23 |
liveuser |
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
|
2 |
<html>
|
|
|
3 |
|
|
|
4 |
<head>
|
|
|
5 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
|
6 |
<title>amCharts examples</title>
|
|
|
7 |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
|
8 |
<script src="../amcharts/amcharts.js" type="text/javascript"></script>
|
|
|
9 |
<script src="../amcharts/gauge.js" type="text/javascript"></script>
|
|
|
10 |
|
|
|
11 |
<script>
|
|
|
12 |
|
|
|
13 |
var chart;
|
|
|
14 |
var sArrow;
|
|
|
15 |
var mArrow;
|
|
|
16 |
var hArrow;
|
|
|
17 |
var axis;
|
|
|
18 |
|
|
|
19 |
AmCharts.ready(function () {
|
|
|
20 |
// clock is just an angular gauge with three arrows
|
|
|
21 |
chart = new AmCharts.AmAngularGauge();
|
|
|
22 |
chart.startDuration = 0.3;
|
|
|
23 |
|
|
|
24 |
// main face
|
|
|
25 |
axis = new AmCharts.GaugeAxis();
|
|
|
26 |
axis.startValue = 0;
|
|
|
27 |
axis.endValue = 12;
|
|
|
28 |
axis.valueInterval = 1;
|
|
|
29 |
axis.minorTickInterval = 0.2;
|
|
|
30 |
axis.showFirstLabel = false;
|
|
|
31 |
axis.startAngle = 0;
|
|
|
32 |
axis.endAngle = 360;
|
|
|
33 |
axis.axisAlpha = 0.3;
|
|
|
34 |
chart.addAxis(axis);
|
|
|
35 |
|
|
|
36 |
// seconds face
|
|
|
37 |
var axis2 = new AmCharts.GaugeAxis();
|
|
|
38 |
axis2.startValue = 0;
|
|
|
39 |
axis2.endValue = 60;
|
|
|
40 |
axis2.valueInterval = 15;
|
|
|
41 |
axis2.minorTickInterval = 1;
|
|
|
42 |
axis2.showFirstLabel = false;
|
|
|
43 |
axis2.startAngle = 0;
|
|
|
44 |
axis2.endAngle = 360;
|
|
|
45 |
axis2.radius = 40;
|
|
|
46 |
axis2.centerY = 80;
|
|
|
47 |
axis2.inside = false;
|
|
|
48 |
axis2.axisAlpha = 0.3;
|
|
|
49 |
chart.addAxis(axis2);
|
|
|
50 |
|
|
|
51 |
// hour arrow
|
|
|
52 |
hArrow = new AmCharts.GaugeArrow();
|
|
|
53 |
hArrow.radius = "50%";
|
|
|
54 |
hArrow.clockWiseOnly = true;
|
|
|
55 |
|
|
|
56 |
// minutes arrow
|
|
|
57 |
mArrow = new AmCharts.GaugeArrow();
|
|
|
58 |
mArrow.radius = "90%";
|
|
|
59 |
mArrow.startWidth = 6;
|
|
|
60 |
mArrow.nailRadius = 0;
|
|
|
61 |
mArrow.clockWiseOnly = true;
|
|
|
62 |
|
|
|
63 |
// seconds arrow
|
|
|
64 |
sArrow = new AmCharts.GaugeArrow();
|
|
|
65 |
sArrow.axis = axis2; // this arrow uses different axis
|
|
|
66 |
sArrow.startWidth = 3;
|
|
|
67 |
sArrow.nailRadius = 4;
|
|
|
68 |
sArrow.color = "#CC0000";
|
|
|
69 |
sArrow.clockWiseOnly = true;
|
|
|
70 |
|
|
|
71 |
|
|
|
72 |
// update clock before adding arrows to avoid initial animation
|
|
|
73 |
updateClock();
|
|
|
74 |
|
|
|
75 |
// add arrows
|
|
|
76 |
chart.addArrow(hArrow);
|
|
|
77 |
chart.addArrow(mArrow);
|
|
|
78 |
chart.addArrow(sArrow);
|
|
|
79 |
|
|
|
80 |
chart.write("chartdiv");
|
|
|
81 |
|
|
|
82 |
// update clock every second
|
|
|
83 |
setInterval(updateClock, 1000);
|
|
|
84 |
});
|
|
|
85 |
|
|
|
86 |
// update clock
|
|
|
87 |
function updateClock() {
|
|
|
88 |
// get date
|
|
|
89 |
var date = new Date();
|
|
|
90 |
var hours = date.getHours();
|
|
|
91 |
var minutes = date.getMinutes();
|
|
|
92 |
var seconds = date.getSeconds();
|
|
|
93 |
|
|
|
94 |
// update hours
|
|
|
95 |
hArrow.setValue(hours + minutes / 60);
|
|
|
96 |
// update minutes
|
|
|
97 |
mArrow.setValue(12 * (minutes + seconds / 60) / 60);
|
|
|
98 |
// update seconds
|
|
|
99 |
sArrow.setValue(date.getSeconds());
|
|
|
100 |
|
|
|
101 |
// update date
|
|
|
102 |
var dateString = AmCharts.formatDate(date, "DD MMM, EEE");
|
|
|
103 |
axis.setTopText(dateString);
|
|
|
104 |
}
|
|
|
105 |
|
|
|
106 |
|
|
|
107 |
</script>
|
|
|
108 |
</head>
|
|
|
109 |
|
|
|
110 |
<body>
|
|
|
111 |
<div id="chartdiv" style="width:400px; height:400px;"></div>
|
|
|
112 |
</body>
|
|
|
113 |
</html>
|