2014-03-27 26 views
0

正如Q中所述,如果將頁面向下滾動超過14像素,我想要修復一個元素。如果從頂部滾動超過140像素,則使元素得到修復

我試過以下,但由於某種原因,它不工作。

$(window).unbind('scroll').scroll(function() { 
    if ($('body').scrollTop > 140) { 
     $('div.top-logo-main').css('position', 'fixed'); 
    } else { 
     $('div.top-logo-main').css('position', 'static'); 
    } 
}); 
+2

我會用'$(本).scrollTop()> 140' – Pete

回答

3

使用scrollTop的()作爲其functtion

$(window).unbind('scroll').scroll(function() { 
    if ($('body').scrollTop() > 140) { 
     $('div.top-logo-main').css('position', 'static'); 
    } else { 
     $('div.top-logo-main').css('position', 'fixed'); 
    } 
}); 

演示http://jsfiddle.net/djgNG/

它沒事我得到了你的意思,看看這個新的小提琴http://jsfiddle.net/djgNG/2/

+0

我居然改變static'和'fixed'的'順序。在任何情況下,它都會轉向「固定」,但如果我返回並且滾動頂部小於140,它不會恢復爲「靜態」。爲什麼? – BlekStena

+0

它的所有權利我明白你的意思,檢查這個新的小提琴http://jsfiddle.net/djgNG/2/ –

1

scrollTop是一個函數。調用它(注意括號):

if ($('body').scrollTop() > 140) {