我創建一個簡單的視差滾動縮放圖像到屏幕寬度,設置一個滾動包裝,設置爲所有圖像的縮放高度,並查看scrollTop值使用jQuery的css()設置圖像的頂部位置。這裏是主要功能:jQuery的css()不在條件語句工作
function positionSlides() {
sT = $(window).scrollTop();
$('div.slide img').each(function(){
wp = $(this).attr('data-waypoint');
if(sT >= wp){
$(this).css({'top' : wp, 'border' : '1px solid red'});
//console.log(sT + ':sT, ' + wp + ':wp');
}
else{
$(this).css({'top' : ((wp-sT)/4)+sT, 'border' : '1px solid blue'});
}
});
}
邊框顏色的設置是爲了測試哪個條件語句正在傳遞。
positionSlides()通過
$(window).scroll(function(){
positionSlides();
});
我的問題叫上滾動時sT >= wp
,CSS屬性「頂」沒有設置爲wp
值。它被設置爲似乎是else語句所傳遞的最後一個值,這個值稍微小於wp
。但同時,'border' : '1px solid red'
通過相同的if語句正確設置。
爲什麼'top'屬性沒有在聲明的if部分中設置?
'$(window).scroll(positionSlides)'執行起來有點快 – Ascherer
在這種情況下wp包含了什麼?在else中它是數字,如果它是一個字符串(所有屬性都是字符串)。 –
您是否還需要將'px'附加到css'top'屬性(除非它爲0) – steveax