使用的百分比窗口高度進行比較
$(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,但我想知道這是否可能首先。 –