2011-07-24 39 views
1

我有以下jQuery基本上離開它的正常CSS定位(相對)的div,直到達到一定的偏移量(在這種情況下60px)。在這一點上,CSS被更改爲position:fixed。jQuery粘滯分區從1.3.2破壞到1.4.4

<script> 
$(function() { 
    var $el = $('.sticky'), 
     originalTop = $el.offset(60).top; // store original top position 

    $(window).scroll(function(e){ 
    if ($(this).scrollTop() > originalTop){ 
     $el.css({'position': 'fixed', 'top': '10px'}); 
    } else { 
     $el.css({'position': 'absolute', 'top': originalTop}); 
    } 
    }); 
}); 
</script> 

什麼吹我的腦海裏的是,上面的代碼在1.3.2工作,拉我的頭髮試圖堵塞這個代碼到一個新的項目後,我發現,從降級到1.6.2的jQuery v1.3.2導致它按預期工作。

有人能告訴我如何更新我的jQuery代碼以與jQuery 1.6.2兼容嗎?

+0

'$ el.offset(60)'應該做什麼? 'offset()'只支持函數和「偏移對象」('{top,left}')作爲參數。 –

回答

3

更改此:

originalTop = $el.offset(60).top; 

要這樣:

originalTop = $el.offset().top; 

offset(val) now sets the offsetDoc(如1.4版本)。而且,60不是一個合適的座標值。

+0

對!謝謝! – Brian

+0

@mu:是的,我試圖通過與文檔的鏈接提示。 (^_^) –