我試圖讓div.projectsgrid
是<是<從頂部100px,jQuery將會看到如果div.selectedwork
有css background-color #ffffff。如果沒有,它會將其背景顏色設置爲#ffffff。一旦用戶滾動備份並且div.projectsgrid
距離頂部超過100px,jQuery將刪除背景顏色。我有以下代碼,這是行不通的:檢測元素從窗口頂部小於100px時,更改CSS
$(window).scroll(function(e){
var el = $('.selectedwork');
var top = $('#projectsgrid').offset().top;
if ($(top) < 100 && el.css('background-color') != '#ffffff'){
$(el).css({'background-color': '#ffffff'});
}
if ($(top) > 100 && el.css('background-color') == '#ffffff'){
$(el).css({'background-color': ''});
}
});
這工作!我打算使用一堂課,但我計劃在動畫背景上淡化。所以offset()。top不是計算在瀏覽器的頂部,而是整個文檔的頂部,因此你減去了scrollTop?我有點困惑。 – steve 2011-03-11 23:42:46
是的,'$('#projectsgrid')。offset()。top'是一個常量。當您滾動窗口時,只有'$(document).scrollTop()'會改變(並且它是可查看頁面頂部的值)。所以你可以通過減去項目網格頂部到頁面頂部多遠。 – Mottie 2011-03-11 23:45:47