1

このコードは、ブラウザー ウィンドウの上部に固定されるフローティング サイドバーを作成するために作成しました。3行目のクロムでこのエラーが発生しています。

Uncaught TypeError: Cannot read property 'top' of null 

これにより、使用しているプラ​​グインが機能しなくなります。

$(document).ready(function(){
    // Floating sidebars on page nodes
    var sidebartop = $('.page-node .panels-flexible-region-node_layout-right').offset().top;
    $(window).scroll(function(){
        if( $(window).scrollTop() > sidebartop ) {
            $('.page-node .panels-flexible-region-node_layout-right').css({position: 'fixed', top: '40px', margin: '0 0 0 650px'});
        } else {
            $('.page-node .panels-flexible-region-node_layout-right').css({position: 'static', margin: '-35px 0 0 0'});
        }
    });
});
4

1 に答える 1

3

jQueryは指定されたセレクターを見つけることができなかったと思います。私は正しい

$('.page-node .panels-flexible-region-node_layout-right')

空の配列を返します。サイドバー (またはオフセットを取得する要素) の ID を設定し、次のようなコードを書き直してみてください。

var sidebartop = $('#your-selector-id').offset().top;

.first-class .second-classまた、と.first-class.second-class(2 番目の例のスペース不足に注意してください) クエリ ルールの違いを検索することもできます。

于 2012-12-19T20:03:30.193 に答える