gpt4 book ai didi

javascript - 将 JavaScript 滚动顶部更改为 id 或类而不是正文

转载 作者:行者123 更新时间:2023-12-03 00:55:34 24 4
gpt4 key购买 nike

我有一个位于页面顶部的侧面菜单。我可以将其更改为 div、call 或 id,而不是使用正文来告知位置。

我当前的代码这段代码告诉侧边菜单在我从页面顶部滚动 40px 后根据类定位自身,如何更改它使其距 ID 或类 40px?

 window.onscroll = function () {onScrollNav()};

function onScrollNav() {
if (document.body.scrollTop > 40 || document.documentElement.scrollTop > 40) {
document.getElementById("mySidenav").className = "sidenavScroll";
console.log("you hit 40px !!");
} else {
document.getElementById("mySidenav").className = "sidenavScrollReset";
console.log("you back to 0 !!");
}
}

最佳答案

我认为你最好的选择是获取滚动位置、具有相关 ID 的元素的偏移量,最后做一些快速数学计算。

var elOffset = document.getElementById('<ID HERE>').getBoundingClientRect();
function onScrollNav() {
var diff = (document.documentElement.scrollTop - elOffset.top);
if (diff > 40) {
document.getElementById("mySidenav").className = "sidenavScroll";
console.log("you hit 40px offset from the element with ID!!");
} else {
document.getElementById("mySidenav").className = "sidenavScrollReset";
console.log("you back to 0 !!");
}
}

关于javascript - 将 JavaScript 滚动顶部更改为 id 或类而不是正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52857480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com