jquery滚动没有被触发

时间:2013-04-16 14:12:20

标签: jquery events javascript-events scroll

我正在尝试做一个视差滚动教程(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();
});

});

1 个答案:

答案 0 :(得分:0)

$ window.scrollTop需要更改为$(window).scrollTop。