スクロールでブートストラップの進行状況バーをアニメートしたい(アニメーションをスクロールして再起動するたびに)。 Iveはstackoverflowで解決策を探しましたが、私がそれらを適用すると何も動作しませんので、スクロールではなくページロード時にプログレスバーはまだ動きます。私はちょうどjs/jqueryとkeyframesを使って、ライブラリを一切使わずにしたいと思っています。誰かがヒントを持っているなら、それは素晴らしいでしょう。ありがとう!javascript/jqueryでスクロールする場合にのみブートストラップの進行状況をアニメーション化する方法は?
https://jsfiddle.net/hdxv4hrp/
コード: HTML:
<div class="spacer"></div>
<div style="width: 400px; margin: 50px auto">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="max-width: 60%">
<span class="title">60%</span>
</div>
</div>
</div>
<div style="width: 400px; margin: 50px auto">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="max-width: 10%">
<span class="title">20%</span>
</div>
</div>
</div>
<div style="width: 400px; margin: 50px auto">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="max-width: 90%">
<span class="title">90%</span>
</div>
</div>
</div>
はCSS:
.progress-bar {
width: 0;
animation: progress 1.5s ease-in-out forwards;
.title {
opacity: 0;
animation: show 0.35s forwards ease-in-out 0.5s;
}
}
@keyframes progress {
from {
width: 0;
}
to {
width: 100%;
}
}
@keyframes show {
from {
opacity: 0;
}
JS:
$(window).scroll(function() {
if ($(window).scrollTop() > 0) {
progress-bar.addClass("show");
} else {
progress-bar.removeClass("show");
}
});
を動作するかどうかを確認することができるように性質が混乱している '進捗-bar'あなたがここに減算されているもののトップに固定された位置にプログレスバーを保つためにそれともクラス名 –
ですか?ちょうどこれを見ました - そのクラス名!私は私の質問を更新しました。 – javascript2016
クラス名であっても '$( '。progress-bar')のようにはならない。addClass(" show ")' –