chart = initialiseGraph();
chart.graphs.forEach(function(elm){
elm.hidden=true;
});
chart.validateNow();和
function handleLegendClick( graph ) {
var chart = graph.chart;
for( var i = 0; i < chart.graphs.length; i++ ) {
if ( graph.id == chart.graphs[i].id )
chart.showGraph(chart.graphs[i]);
else
chart.hideGraph(chart.graphs[i]);
}
// return false so that default action is canceled
return false;
}这两个代码之间有什么区别,性能上哪一个更好?
发布于 2017-07-29 10:00:50
showGraph/hideGraph方法与每次调用后调用validateNow的效果相同,后者在每次调用后完全重新绘制整个图形,而设置hidden属性在您调用validateNow更新图表之前什么也不做。
在循环情况下,先修改多个图的hidden属性,然后在循环结束时调用一次validateNow,这比在每次迭代时调用show/hide方法快得多。
https://stackoverflow.com/questions/45383089
复制相似问题