Mon 21 Jul 22:43:21 CEST 2025
This commit is contained in:
parent
80112aebd8
commit
3e216d652d
|
@ -0,0 +1,94 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Timeline | navigation menu</title>
|
||||
|
||||
<style type="text/css">
|
||||
body, html, input {
|
||||
font-family: sans-serif;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
#visualization {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.menu {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin: 10px;
|
||||
z-index: 9999;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="../../../dist/vis.js"></script>
|
||||
<link href="../../../dist/vis.css" rel="stylesheet" type="text/css" />
|
||||
<script src="../../googleAnalytics.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>
|
||||
Create your own navigation menu by creating an overlay with buttons to zoom and move.
|
||||
</p>
|
||||
|
||||
<div id="visualization">
|
||||
<div class="menu">
|
||||
<input type="button" id="zoomIn" value="Zoom in"/>
|
||||
<input type="button" id="zoomOut" value="Zoom out"/>
|
||||
<input type="button" id="moveLeft" value="Move left"/>
|
||||
<input type="button" id="moveRight" value="Move right"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
// create a timeline with some data
|
||||
var container = document.getElementById('visualization');
|
||||
var items = new vis.DataSet([
|
||||
{id: 1, content: 'item 1', start: '2014-04-20'},
|
||||
{id: 2, content: 'item 2', start: '2014-04-14'},
|
||||
{id: 3, content: 'item 3', start: '2014-04-18'},
|
||||
{id: 4, content: 'item 4', start: '2014-04-16', end: '2014-04-19'},
|
||||
{id: 5, content: 'item 5', start: '2014-04-25'},
|
||||
{id: 6, content: 'item 6', start: '2014-04-27', type: 'point'}
|
||||
]);
|
||||
var options = {};
|
||||
var timeline = new vis.Timeline(container, items, options);
|
||||
|
||||
/**
|
||||
* Move the timeline a given percentage to left or right
|
||||
* @param {Number} percentage For example 0.1 (left) or -0.1 (right)
|
||||
*/
|
||||
function move (percentage) {
|
||||
var range = timeline.getWindow();
|
||||
var interval = range.end - range.start;
|
||||
|
||||
timeline.setWindow({
|
||||
start: range.start.valueOf() - interval * percentage,
|
||||
end: range.end.valueOf() - interval * percentage
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Zoom the timeline a given percentage in or out
|
||||
* @param {Number} percentage For example 0.1 (zoom out) or -0.1 (zoom in)
|
||||
*/
|
||||
function zoom (percentage) {
|
||||
var range = timeline.getWindow();
|
||||
var interval = range.end - range.start;
|
||||
|
||||
timeline.setWindow({
|
||||
start: range.start.valueOf() - interval * percentage,
|
||||
end: range.end.valueOf() + interval * percentage
|
||||
});
|
||||
}
|
||||
|
||||
// attach events to the navigation buttons
|
||||
document.getElementById('zoomIn').onclick = function () { zoom(-0.2); };
|
||||
document.getElementById('zoomOut').onclick = function () { zoom( 0.2); };
|
||||
document.getElementById('moveLeft').onclick = function () { move( 0.2); };
|
||||
document.getElementById('moveRight').onclick = function () { move(-0.2); };
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user