コーディングテクニックの実装内容
今回はWeb制作におけるパララックス・スクロールエフェクトに関する内容です。スクロール時に背景画像をスクロールの逆方向へ時間差で動かすパララックスアニメーションを実装する方法(background-position-yプロパティをJSで制御) を紹介します。
コーディングテクニックの使いどころ
jQueryのプラグインを使用せず、手軽にパララックスを実装したい時に便利です。慣性スクロールで滑らかなスクロールを実現できます。
実装難易度・必要なスキル
コーディングとjQueryの基礎的な知識があれば実務未経験のコーダー、マークアップエンジニア、Webデザイナー、エンジニア、副業の初心者など誰でも実装可能です。
実装所要時間は10分程度
CSS,JavaScriptの記述内容
body {
height: 1000px;
}
.block {
position: relative;
width: 100%;
height: 1500px;
}
.bg {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 0;
background: url(/img/h.jpg) no-repeat center center;
background-size: cover;
}
@media screen and (max-width:640px){
.block {
height: 500px;
}
.bg {
background-size: contain;
}
}
var scrollPos = $(window).scrollTop();
var scrollPrevPos = 0;
var bgPos = 0;
$(window).on("scroll", function() {
scrollPos = $(window).scrollTop();
var sectionLablesPos = $(".block").offset().top;
var sectionLabelsHeight = $(".block").innerHeight();
var delta = scrollPos - scrollPrevPos;
if (scrollPos + window.innerHeight > sectionLablesPos && scrollPos < sectionLablesPos + sectionLabelsHeight) {
console.log(delta);
if (delta > 0) {
bgPos = bgPos - 7;
} else {
bgPos = bgPos + 7;
}
}
console.log(bgPos);
$(".bg").stop(true, false).animate({
"background-position-y": bgPos + "px",
},1000);
scrollPrevPos = scrollPos;
});
実装のポイント
現在制作中
PR
法律をもっと身近にする話題のメディアサイト「法律ビッグバン」
アニメ・漫画の登場人物やゲームキャラクターの現在の年齢まとめ
TwitterやYouTube、TikTok、SNSで話題の猫(ネコ、ねこ)情報まとめ
TikTokで人気急上昇のTikToker(ティックトッカー)情報まとめ
スポンサーリンク