視差スクロール チュートリアル ( http://net.tutsplus.com/tutorials/html-css-techniques/simple-parallax-scrolling-technique/ )を実行しようとしています。背景位置 CSS を jQuery 経由で変更できません。スクロール ハンドラが呼び出されていないと推測できました。スクロールしてもトリガーされないこのアラートがあります。
$(window).scroll(function(){
alert('Handler for scroll called');
});
この関数の外部でアラートを実行すると、呼び出されます。したがって、jQuery が正しく呼び出されていることはわかっています (これはすべて .ready() 関数内にあります)。何か案は?
編集
スクロール ハンドラを手動で呼び出すことさえできません。たとえば、これは機能します:
$('*').click(function(){
alert('handler called');
});
しかし、これはしません:
$('*').click(function(){
$(window).scroll();
}); // Remember I set an alert up above for when the scroll handler was called
2回目の編集、JSファイル全体:
$(document).ready(function(){
$('section[data-type="background"]').each(function(){
var $bgobj = $(this); // assigning the object
$(window).scroll(function() {
var yPos = -($window.scrollTop() / $bgobj.data('speed'));
// Put together our final background position
var coords = '50% '+ yPos + 'px';
// Move the background
$bgobj.css({ backgroundPosition: 50% 10 });
});
});
$(window).on('scroll',function(){
alert('Handler for scroll called');
});
$('*').click(function(){
$(window).scroll();
});
});