默认情况下,图表显示 2001-2002 年的数据;我想知道当用户将鼠标悬停在图表上时它会显示 2002-2003 年的数据。一旦鼠标离开图表,它应该返回到默认阶段。
//The first data comes from 2001-2002
var seriesData = [{
year: "2000",
sold: 100,
produced: 200
}, {
year: "2001",
sold: 250,
produced: 280
}];
// The second dataset comes from 2002-2003
var seriesData2 = [{
year: "2002",
sold: 140,
produced: 240
}, {
year: "2004",
sold: 350,
produced: 380
}];
function createChart() {
$("#chart").kendoChart({
dataSource: {
data: seriesData
},
series: [{
name: "Sold",
field: "sold"
}, {
name: "Producted",
field: "produced"
}],
categoryAxis: {
field: "year"
},
});
}
$(document)
.ready(createChart);
这是 jsfiddle:https://jsfiddle.net/epvg86qu/1/
最佳答案
将图表包装在容器内,例如 div
,然后在该 div 上放置鼠标悬停和移出事件。然后更改图表的数据源
<div id="chart-container">
//your chart here
</div>
<script type="text/javascript">
var isHover = false;
$("#chart-container").hover(
function () {
if (!isHover) {
var chart = $("#chart").data().kendoChart;
chart.dataSource.data(seriesData2);
isHover = true;
}
}, function () {
if (isHover) {
var chart = $("#chart").data().kendoChart;
chart.dataSource.data(seriesData);
isHover = false;
}
});
</script>
关于javascript - 图表上的数据事件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158228/