2015-05-11 75 views
0

默認情況下,圖表顯示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/

回答

5

總結圖表容器e.g 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> 
+0

謝謝@Dion Dirza。這裏是jsfiddle演示http://jsfiddle.net/epvg86qu/3/有時它是響應式的,有時它不是。順便說一下,有沒有辦法在鼠標僅在直方圖條上更新圖表。 – casillas

+1

代碼剛剛更新以獲得更好的響應。關於你最後一個問題,我把它留給你的研究..你有什麼嘗試? –

+0

非常感謝Dion Dirza。它完美無瑕。 – casillas