2013-07-07 97 views
0

我试图让我的侧栏像平常一样运行,直到发生了一定量的滚动(它滚动过第一个子元素div元素),然后修复到位。确定滚动后更改侧边栏

作为一个测试,我试图把它变成空白。但它没有任何影响。

<script type="text/javascript"> 
    var side_offset_top = $('#side').offset().top; 
    var side = function(){ 
     var scroll_top = $(window).scrollTop(); 
     if (scroll_top > side_offset_top) { 
      document.getElementById('side').innerHTML = ''; //blank to test 
     } else { 
     } 
    }; 
    side(); 
    $(window).scroll(function() { 
     side(); 
    }); 
}); 
</script> 

我是JavaScript新手,所以我很感谢任何人帮助我解决这个问题。

回答

0

我猜你正在使用jQuery,因为我看到了$

上有代码的最后一行的额外});所以,除非它是你应该删除复制粘贴错误。

然后尝试将代码放入$(document).ready()处理程序中。 $('#side')在检查它的偏移时可能不在DOM中。

喜欢的东西(未经测试):

$(document).ready(function(){ 
    var side_offset_top = $('#side').offset() && $('#side').offset().top; 
    var side = function(){ 
     var scroll_top = $(window).scrollTop(); 
     if (scroll_top > side_offset_top) { 
      $('#side').html(''); // using jQuery .html 
     } 
    }; 
    side(); 
    $(window).on('scroll', function() { // consider using .on here instead 
     side(); 
    }); 
}); 

编辑:哎呦!偏移()。顶部()应该偏移()顶部

+0

谢谢,但这仍然无法正常工作。两个侧栏'div'元素在固定导航栏的顶部滚动(顶部水平),尽管'#side'背景颜色落后了,就像它一样。 – OJFord

+0

我刚刚修复了示例代码中的一个错误并对其进行了测试 - 更新后的版本适用于我。如果我用侧面的ID做div,当div到达窗口的顶部时,html被更新 – mcbex