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 | <div class="span12"> <table width="100%" height="375px"><tr><td valign="middle"><span class="arrow-w" style="font-size:2em;"></span></td><td width="95%"><div id="placeholder" style="width:100%;height:375px;"></div></td><td valign="middle"><span class="arrow-e" style="font-size:2em;"></span></td></tr></table> <script> var data = []; var plot; var options = { lines: { show: true }, points: { show: true }, xaxis: { mode: "time" }, crosshair: { mode: "x" }, series: { lines: { show: true }, points: { show: true } }, grid: { hoverable: true, clickable: true } }; window.onload = function() { // graph var placeholder = $("#placeholder"); var plot = $.plot(placeholder, data, options); $("#placeholder").bind("plothover", function (event, pos, item) { if (item) { if (previousPoint != item.dataIndex) { previousPoint = item.dataIndex; $("#tooltip").remove(); var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2); var d = new Date(); d.setTime(x); var time = d.getDate() + "-" + (d.getMonth()+1) + "-" + d.getFullYear() + " " + d.getUTCHours() + ':'+ (d.getUTCMinutes().toString().length == 1 ? '0'+ d.getMinutes(): d.getUTCMinutes()); showTooltip(item.pageX, item.pageY, item.series.label + " at " + time + " = " + y); } } else { $("#tooltip").remove(); previousPoint = null; } }); getData('<?php echo $sensorID; ?>','<?php echo strtotime("12/1/2010") ?>','<?php echo strtotime("12/2/2010") ?>'); }; function onDataReceived(series) { data =[] data[data.length] = series; plot = $.plot($("#placeholder"), data, options); } function getData(sensorID,from,to) { $.ajax({ url: "<?php echo base_url(); ?>/sensor/json_graph/"+sensorID+"/"+from+"/"+to, method: 'GET', dataType: 'json', success: onDataReceived }); } function showTooltip(x, y, contents) { $('<div id="tooltip">' + contents + '</div>').css( { position: 'absolute', display: 'none', top: y + 5, left: x + 5, border: '1px solid #fdd', padding: '2px', 'background-color': '#fee', opacity: 0.80 }).appendTo("body").fadeIn(200); } </script> </div> |