Javascript 谷歌可视化时间线显示鼠标光标的时间
我希望我能在google visualization timeline中用Java脚本显示鼠标光标的时间/日期 比如说: log(googlechart.timedate(mouse.x)); 有没有办法得到我的鼠标x的时间日期 问题是,我正在尝试对时间线元素进行拖动,所以我首先得到光标在某个元素上时鼠标被拖动的距离,现在我得到了像素,我想应用时间线元素值的变化,即拖动在它上面,但是我不知道如何知道要更改的日期/时间的新值,然后我将刷新图形Javascript 谷歌可视化时间线显示鼠标光标的时间,javascript,charts,visualization,timeline,google-visualization,Javascript,Charts,Visualization,Timeline,Google Visualization,我希望我能在google visualization timeline中用Java脚本显示鼠标光标的时间/日期 比如说: log(googlechart.timedate(mouse.x)); 有没有办法得到我的鼠标x的时间日期 问题是,我正在尝试对时间线元素进行拖动,所以我首先得到光标在某个元素上时鼠标被拖动的距离,现在我得到了像素,我想应用时间线元素值的变化,即拖动在它上面,但是我不知道如何知道要更改的日期/时间的新值,然后我将刷新图形 谢谢。不幸的是,使用他们的API没有内置的方法来实现这
谢谢。不幸的是,使用他们的API没有内置的方法来实现这一点。基于,我修改了Google的JSFiddle示例,添加了一个简单的
mousemove
事件,用于计算光标的相对X和Y位置
google.charts.load('current', {'packages':['timeline']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var container = document.getElementById('timeline');
var chart = new google.visualization.Timeline(container);
var dataTable = new google.visualization.DataTable();
dataTable.addColumn({ type: 'string', id: 'President' });
dataTable.addColumn({ type: 'date', id: 'Start' });
dataTable.addColumn({ type: 'date', id: 'End' });
dataTable.addRows([
[ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
[ 'Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
[ 'Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);
// create 'ready' event listener to add mousemove event listener to the chart
var runOnce = google.visualization.events.addListener(chart, 'ready', function () {
google.visualization.events.removeListener(runOnce);
// create mousemove event listener in the chart's container
// I use jQuery, but you can use whatever works best for you
$(container).mousemove(function (e) {
var xPos = e.pageX - container.offsetLeft;
var yPos = e.pageY - container.offsetTop;
// (Do something with xPos and yPos.)
});
});
chart.draw(dataTable);
}
这只是一个开始。您必须弄清楚如何从鼠标坐标中插入时间和日期数据,因为没有API功能可以做到这一点,即使有,如果不使用自己的计算,也无法获得“中间”值。您可能会找到一些帮助。是的,我看到了前面的JSFIDLE one,它显示的是浮点值,但在我的例子中,我想使用datetime,所以要找到x鼠标值的timedate,非常感谢您,我会再等一会儿,看看是否有办法,但如果没有答案,我会把你的答案标为正确答案。