スクロールした位置でheaderを変化させる
スクロールした位置でheaderを変化させる:
任意の場所までスクロールすると、header要素のクラスを削除し、新しいクラスを追加する。
(Bootstrap使用)
https://rfs.jp/sb/javascript/js-lab/resize-header-scroll.html
Goal
任意の場所までスクロールすると、header要素のクラスを削除し、新しいクラスを追加する。(Bootstrap使用)
How to
test.html
<head>
<!-- bootstrap strat -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.0/css/bootstrap.min.css" integrity="sha384-PDle/QlgIONtM1aqA2Qemk5gPOE7wFq8+Em+G/hmo5Iq0CCmYZLv3fVRDJ4MMwEA" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.0/js/bootstrap.min.js" integrity="sha384-7aThvCh9TypR7fIc2HV4O/nFMVCBwyIUKL8XCtKE+8xgCgl/PQGuFsvShjr74PBp" crossorigin="anonymous"></script>
<!-- bootstrao end -->
</head>
<nav class="navbar navbar-expand-lg navbar-light">
</nav>
test.js
<script>
function init() {
// スクロールして何ピクセルでアニメーションさせるか
var px_change = 1000;
// スクロールのイベントハンドラを登録
window.addEventListener('scroll', function(e){
// 変化するポイントまでスクロールしたらクラスを追加
if ( $(window).scrollTop() > px_change ) {
$(".navbar").addClass("change-white");
// 変化するポイント以前であればクラスを削除
} else if ( $(".navbar").hasClass("change-white") ) {
$(".navbar").removeClass("change-white");
}
});
}
window.onload = init();
</script>
test.css
.change-white {
background-color: white !important;
}
コメント
コメントを投稿