視差効果を使用する3つの要素がありますが、上から正しい場所(セクション)に画像を配置するために、それぞれの位置を変更する必要があります。私は "paddTop"の値を変更するためにいくつかの "if"を試しましたが、最後の視差のみが働いています。ここに私のコードは次のとおりJS視差複数の要素の位置
(関数(){
var parallax = document.querySelectorAll(".paralax, .parallax2, .parallax3"),
speed = 0.35;
window.onscroll = function(){
[].slice.call(parallax).forEach(function (el,i){
if (parallax==document.querySelectorAll(".parallax")){
var paddTop = 1500;
}
if (parallax==document.querySelectorAll(".parallax2")){
var paddTop = 2200;
}
if (parallax==document.querySelectorAll(".parallax3")){
var paddTop = 3000;
}
var windowYOffset = window.pageYOffset-paddTop,
elBackgrounPos = "50% " + (windowYOffset * speed) + "px";
el.style.backgroundPosition = elBackgrounPos;
});
};
})();
なぜ最後のものが機能しているのか分かっている人は、私に知らせてください。 JSにはあまりよくないですが、多少の間違いかもしれませんが、本当に助けになります。
ありがとうございました!
は、あなたがそれを三回を割り当てているので、常に最後の行(document.querySelectorAll(".parallax3")
)の値を保持すること
parallax
で
を働いていないにもかかわらず、私からのナンセンスの間違い、今私は – Stand
を維持していますvar parallax = document.querySelectorAll( "paralax、.parallax2、.parallax3");しかし、コードまだ実行されていない、別の間違いがどこかにある... – Stand