2011-07-24 5 views
1

私は次のjQueryを持っています。基本的には、特定のオフセット(この場合は60px)に達するまで通常のCSSの配置(相対)です。その時点で、CSSはposition:fixedに変更されます。jQuery Sticky Div 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 1.6.2と互換性があるようにjQueryコードを更新する方法を教えてもらえますか?これに

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

:この

+0

'$ el.offset(60)'とは何ですか? 'offset()'は引数として関数と "オフセットオブジェクト"( '{top、left}')のみをサポートします。 –

答えて

3

変更(バージョン1.4のような)

originalTop = $el.offset().top; 

offset(val) now sets the offsetDoc。そして、60は適切な座標値ではありません。

+0

右上に!ありがとうございました! – Brian

+0

@mu:そうですね、ドキュメントへのリンクを使ってそのことをヒントしました。 (^_^) –

関連する問題