仅当用户滚动页面并到达图表的div时,才想显示我的图表。仅当用户在特定DIV上滚动时才显示chart.js动画
现在图表会将页面加载到一起,当我到达图表时,它会被收费。
我用Chart.js制作这个图表。
这是网站的链接:我有图表下的“技能”的声音 http://www.matteoschiatti.it/
。
这是我的技能部分:
<section id="skills" class="skills-section">
<div id="counter">
<canvas id="polarChart" height="100%"></canvas>
</div>
</section>
JS:
$(function() {
var oTop = $('#counter').offset().top - window.innerHeight;
var oBottom = $('#contact').offset().top - window.innerHeight;
var chartHidden = true;
$(window).scroll(function(){
var pTop = $('body').scrollTop();
if ((pTop > oTop) && (chartHidden)) {
chartHidden = false;
start_count();
} else if (pTop < oTop) {
chartHidden = true;
}
if ((pTop > oBottom)) {
chartHidden = true;
}
});
});
function start_count(){
var ctx = document.getElementById("polarChart").getContext('2d');
var myChart = new Chart(ctx, {
type: 'polarArea',
data: {
labels: ["Php", "Css", "Html", "Wordpress", "Magento", "Photoshop", "Web Analisis", "Seo"],
datasets: [{
backgroundColor: [
"#0066ff",
"#cc3333",
"#ffba02",
"#009966",
"#ff6600",
"#db01de",
"#00cc33",
"#00ccff"
],
data: [65, 85, 90, 95, 75, 75, 85, 85]
}]
}
});
}
看到[这个答案](http://stackoverflow.com/a/488073/5090771)知道什么时候_user滚动页面并到达图表的div _... – WhiteHat
这个解决方案让我明白如果一个元素在页面的可见部分。但我无法理解,只有当用户向下滚动时才能显示我的图表。你能帮我理解吗?我应该在身体底部添加js代码吗?但是之后? – Matteo
不知道我跟着,你在听'滚动'事件吗?当滚动事件被触发时,使用提供的答案知道什么时候可见,何时可见绘制图表... – WhiteHat