1
ウィンドウイベントの前に「this」をキャッシュしていてもDOMセレクタにアクセスできません。変数にアクセスできず、オブジェクトリテラルモジュールパターンを使用して特定のCSSを適用できません
私がそれをちょうど$('.banner')
に変更した場合、それは動作します。
私のコードでは、私はmodule.scrolled
を使って私のscrollEvent()
メソッドで使用できた変数scrolled
をウィンドウイベントのscrolltop
に設定しました。
また、CSSの不透明度ルールが機能していません。
しかし、上の位置と相対的な位置は同じです。
var parallax = {
init: function() {
this.cacheDom();
this.scrollEvent();
},
cacheDom: function() {
var $window = $(window),
banner = $('.banner'),
callout = $('.callout'),
bannerHeight = Math.round(banner.outerHeight()),
hideElem = false,
hasScrolled = false,
scrolled;
},
scrollEvent: function() {
var module = this;
$(window).on('scroll', function() {
var scrollTop = $(this).scrollTop();
module.banner.css("background-position", '50%' + (scrollTop/1.75) + "px");
module.callout.css({'position': 'relative', 'top' : scrollTop * 0.75, 'opacity' : 1 - (scrollTop/module.bannerHeight * 2)});
});
}
};
parallax.init();
うわー、私はそれを忘れているとは思えません。両方の問題を解決しました。 ありがとうございます。 – corporalpoon