Animate Chart on Scroll | CanvasJS JavaScript Charts
Animate Chart on Scroll | CanvasJS JavaScript Charts
by canvasjs
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div class="blankDiv">
Scroll Down to See the chart
</div>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
CSS
.blankDiv {
height: 1000px;
width: 100%;
}
JavaScript
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
title:{
text: "Animate Chart on Scroll"
},
animationEnabled: true,
data: [
{
// Change type to "doughnut", "line", "splineArea", etc.
type: "column",
dataPoints: [
{ label: "apple", y: 10 },
{ label: "orange", y: 15 },
{ label: "banana", y: 25 },
{ label: "mango", y: 30 },
{ label: "grape", y: 28 }
]
}
]
});
var element = document.getElementById("chartContainer");
var offsetForChartToDisplay = element.offsetTop + 150;
function scrollFunction() {
if( (document.documentElement.scrollTop+window.innerHeight) > offsetForChartToDisplay) {
window.removeEventListener("scroll", scrollFunction);
chart.render();
}
}
window.addEventListener("scroll", scrollFunction)
}