我正在创建一个简单的视差滚动器,它将图像缩放到屏幕宽度,设置一个设置为所有图像的缩放高度的滚动包装器,并查看 scrollTop 值以使用 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 属性 'top' 未设置为wp
. 它设置为似乎是 else 语句传递的最后一个值,该值略小于wp
. 但同时,'border' : '1px solid red'
通过相同的 if 语句正确设置。
为什么在语句的 if 部分中没有设置 'top' 属性?