在固定高度标题的滚动上有大量的教程/示例。但是,我正在一个单页网站上工作,初始部分是一个全屏图像。然后用户向下滚动以显示标题和其他内容区域。
所以我的问题是,如何更改我的代码以考虑视口/屏幕大小 - 而不是使用固定的标题大小?
我现有的代码是:
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 65) {
$(".main").addClass("sticky");
} else {
$(".main").removeClass("sticky");
}
});
答案 0 :(得分:0)
您可以使用窗口的高度而不是固定值(因为您正在谈论全屏图像,我猜它的高度等于窗口高度):
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= $(window).height()) {
$(".main").addClass("sticky");
} else {
$(".main").removeClass("sticky");
}
});
如果第一部分小于窗口
,您也可以获得第一部分的高度答案 1 :(得分:0)
我不知道是否有更好的解决方案,但这是我的解决方案:
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= $(window).height()*0.2) { //0.2 for 20% of the viewport height, you can change this value if you need to
$(".main").addClass("sticky");
} else {
$(".main").removeClass("sticky");
}
});
我刚用$(window).height()
来获取视口高度。