【发布时间】:2017-04-18 16:05:08
【问题描述】:
我只想在用户滚动页面并到达图表的 div 时显示我的图表。
现在图表与页面加载一起收费,当我到达图表时,它已经收费。
我使用 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]
}]
}
});
}
【问题讨论】:
-
查看this answer以了解用户何时滚动页面并到达图表的div...
-
这个解决方案让我了解元素是否在页面的可见部分。但是我不明白只有当用户向下滚动时我才能显示我的图表。你能帮我理解吗?我应该在正文底部添加js代码吗?但是之后呢?
-
不确定我是否关注,您在收听
'scroll'事件吗?当滚动事件被触发时,使用提供的答案知道何时可见,何时可见绘制图表... -
我使用上面的JS函数(问题更新)在DOM中找到图表的div,但是现在我到达div时如何启动图表的js动画?
-
对不起,我忘记了,我添加了代码
标签: javascript jquery charts scroll chart.js