2013-04-16 108 views
0

我想做一個視差滾動教程(http://net.tutsplus.com/tutorials/html-css-techniques/simple-parallax-scrolling-technique/)。我無法通過jQuery獲取背景位置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 

第二個編輯,全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(); 
}); 

});

+0

你確定你在滾動窗口嗎? – adeneo

+1

你發佈 - 應該工作--http://jsfiddle.net/mohammadadil/UeBMR/1/ –

+0

@adeneo我滾動。我認爲這是窗口,我沒有其他任何東西像div或任何設置滾動。 – smilebomb

回答

0

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