使用的百分比窗口高度进行比较
$(window).scroll(function() {
var height = $(window).height(),
scroll = $(window).scrollTop()
limit = 0.6; //implies 60 vh or 60% of viewport height
if (scroll >= height*limit) {
$(".clearHeader").addClass("darkHeader");
} else {
$(".clearHeader").removeClass("darkHeader");
}
});
甚至更好的办法是仅在窗口大小调整时更新某些变量以避免计算所有的时间
var limit = 0.6, //implies 60 vh or 60% of viewport height
scrollLimit = 0;
$(window).resize(function(){
scrollLimit = $(window).height() * limit;
}).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= scrollLimit) {
$(".clearHeader").addClass("darkHeader");
} else {
$(".clearHeader").removeClass("darkHeader");
}
}).trigger('resize').trigger('scroll'); // trigger both events on start to force initial setup
你觉得600px应该转换为vh单位?如果结果是计算出的绝对高度 - 与px一样 - 或者它应该是视口相对灵活的量? –
视口相对灵活的数量,600px的值在这个意义上是任意的,我宁愿用基于百分比的值替换它,所以它响应地缩放,我想在触发20%或40%的视口后触发这个阈值。我想我可以用不同的方法使用锚定div,但我想知道这是否可能首先。 –