A simple, yet highly configurable analog clock widget that uses an HTML5 Canvas.
See the widget in action here.
Add the following resources for zenclock to function correctly.
<!-- Required Javascript -->
<script src="jquery.js"></script>
<script src="zenclock.js"></script>
Create a canvas dom element with width and height attributes set:
<canvas id='clock' width='250' height='250'></div>
Initialize zenclock:
$('#clock').zenclock();
Zenclock's look and behaviour can be configured using an options JSON object like so:
var clockOptions = {
secondColor: '#fff',
minuteColor: '#666',
hourColor: '#000',
dotColor: '#f00',
showTicks: false,
// argument is passed to CSS background property of the canvas, so it accepts pretty much everything
background: 'linear-gradient(to bottom, rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 51%,rgba(254,254,254,1) 100%);',
borderColor: 'darkgray',
borderStyle: 'ridge',
borderWidth: '5px',
borderRadius: '60px',
font: '14px Monaco'
}
$('#clock').zenclock(clockOptions);
Following options are available:
option | type | default value | description |
---|---|---|---|
secondColor | String | '#000' | Color for the second indicator |
minuteColor | String | '#000' | Color for the minute indicator |
hourColor | String | '#000' | Color for the hour indicator |
dotColor | String | '#555' | Color for the dot in the center of the clock face |
borderColor | String | '#000' | Color for the clock border |
borderStyle | String | 'double' | Border Style. Accepts all CSS border styles. |
borderWidth | String | '4px' | Border width. Accepts all CSS units of measurement. |
borderRadius | String | '500px' | Border radius of the canvas div. 500px gives you a nice and round clock. |
showTicks | Boolean | true | Show ticks for each minute |
highlightTickColor | String | '#000' | Color for highlighted ticks. Currently every 5th tick is highlighted. |
highlightTickWidth | Integer | 2 | Width for highlighted ticks. Currently every 5th tick is highlighted. |
tickColor | String | '#000' | Color for non-highlighted ticks. |
tickWidth | Integer | 1 | Width for non-highlighted ticks. |
background | String | 'none' | CSS Background property of the clock's canvas element. Accepts everything from image urls to gradients to plain old background colors. |
font | String | '12px Arial' | Font and font size the canvas uses to draw numbers on the watch face. |
smoothSeconds | Boolean | false | Wether or not to take milliseconds into account when drawing the second indicator. |
smoothMinutes | Boolean | true | Wether or not to take seconds into account when drawing the minute indicator. |
smoothHours | Boolean | true | Wether or not to take minutes into account when drawing the hour indicator. |
The clock widget can be interacted with using the following methods, like so:
$('#clock2').zenclock('stop');
Following methods are available:
method | arguments | description |
---|---|---|
start | - | Starts the update interval that fetches the current time and renders the clock |
stop | - | Stops the update interval |