0

視差スクロール チュートリアル ( 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();
    });
}); 
4

1 に答える 1

0

$window.scrollTop を $(window).scrollTop に変更する必要がありました。

于 2013-04-16T16:33:53.950 に答える