2013-07-07 147 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