0

我正在尝试做一个视差滚动教程(http://net.tutsplus.com/tutorials/html-css-techniques/simple-parallax-scrolling-technique/)。我无法通过 jQuery 更改背景位置 CSS。我已经能够推断出滚动处理程序没有被调用。我滚动时不会触发此警报:

$(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

第二次编辑,整个 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 回答