ユーザーがページをスクロールしてグラフの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
私は「scroll」イベントを聞いていますか?スクロールイベントが発生したときに、表示されているときに可視であることを知るために提供された回答を使用します。 – WhiteHat