我编写了这段代码来创建一个粘贴在浏览器窗口顶部的浮动侧边栏。我在第3行的chrome中遇到了这个错误。
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'});
}
});
});
答案 0 :(得分: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
之间的差异(请注意第二个示例中缺少空格)查询规则。