Javascript 滚动经过元素后,如何获取该元素的高度?
在下面的代码片段中,当您单击标题上的Javascript 滚动经过元素后,如何获取该元素的高度?,javascript,html,css,Javascript,Html,Css,在下面的代码片段中,当您单击标题上的这是四个文本时,它将向下滚动到第四部分。在向下滚动之前,页眉有一定的高度x,滚动之后,页眉变粘,高度增加 在收割台变粘后,如何获取收割台的高度?我想这样做的原因是滚动并没有精确地显示在每个部分的顶部。该部分不断被切断,我认为这是由于粘性收割台高度不断变化。因此,我想滚动窗口的高度,粘性标题,使各节线正确 正文{ 保证金:0; 字号:28px; } #导航栏{ 溢出:隐藏; 背景色:#333; 填充:25px 16px; } #导航栏a{ 浮动:左; 显示:块
这是四个文本时,它将向下滚动到第四部分。在向下滚动之前,页眉有一定的高度x
,滚动之后,页眉变粘,高度增加
在收割台变粘后,如何获取收割台的高度?我想这样做的原因是滚动并没有精确地显示在每个部分的顶部。该部分不断被切断,我认为这是由于粘性收割台高度不断变化。因此,我想滚动窗口的高度,粘性标题,使各节线正确
正文{
保证金:0;
字号:28px;
}
#导航栏{
溢出:隐藏;
背景色:#333;
填充:25px 16px;
}
#导航栏a{
浮动:左;
显示:块;
颜色:#F2F2;
文本对齐:居中;
文字装饰:无;
字号:17px;
右边距:15px;
}
.内容{
填充:16px;
}
.粘的{
位置:固定;
排名:0;
宽度:100%;
z指数:100;
盒影:2p2px0RGBA(0,0,0,0.16);
}
.普通的{
边框:1px纯黑;
填充:200px 10px;
边缘底部:20px;
}
向下滚动以查看粘性效果
这是第一次
两个
三
四
五
填充div使滚动时间更长
填充div使滚动时间更长
填充div使滚动时间更长
window.onscroll=函数(){
myFunction()
};
var navbar=document.getElementById(“navbar”);
var sticky=navbar.offsetTop;
函数myFunction(){
如果(window.pageYOffset>=粘性){
navbar.classList.add(“粘性”)
document.getElementById(“navbar”).style.padding=“40px 16px”;
}否则{
navbar.classList.remove(“粘性”);
document.getElementById(“navbar”).style.padding=“25px 16px”;
}
}
功能头点击(elem){
如果(elem.innerHTML==='这是一个'){
document.getElementById(“一”).scrollIntoView();
}
如果(elem.innerHTML==='这是两个'){
document.getElementById(“两个”).scrollIntoView();
}
如果(elem.innerHTML=='这是三个'){
document.getElementById(“三”).scrollIntoView();
}
if(elem.innerHTML=='这是四个'){
document.getElementById(“四”).scrollIntoView();
}
}
内容被剪切是因为它最终位于导航栏后面,因此您可以在.content
的顶部添加额外的填充,这样当它位于导航栏后面时,它就会展开
您可以随意更改这些值,因为这可能有点紧张,但似乎有您想要的效果
window.onscroll=function(){
myFunction();
};
var navbar=document.getElementById(“navbar”);
var sticky=navbar.offsetTop;
函数myFunction(){
如果(window.pageYOffset>=粘性){
navbar.classList.add(“粘性”);
document.getElementById(“navbar”).style.padding=“40px 16px”;
document.querySelector(“.content”).style.paddingTop=“116px”;
}否则{
navbar.classList.remove(“粘性”);
document.querySelector(“.content”).style.paddingTop=“16px”;
document.getElementById(“navbar”).style.padding=“25px 16px”;
}
}
功能头点击(elem){
if(elem.innerHTML==“这是一个”){
document.getElementById(“一”).scrollIntoView();
}
if(elem.innerHTML==“这是两个”){
document.getElementById(“两个”).scrollIntoView();
}
if(elem.innerHTML==“这是三个”){
document.getElementById(“三”).scrollIntoView();
}
if(elem.innerHTML==“这是四个”){
document.getElementById(“四”).scrollIntoView();
}
}
正文{
保证金:0;
字号:28px;
}
#导航栏{
溢出:隐藏;
背景色:#333;
填充:25px 16px;
}
#导航栏a{
浮动:左;
显示:块;
颜色:#F2F2;
文本对齐:居中;
文字装饰:无;
字号:17px;
右边距:15px;
}
.内容{
填充:16px;
}
.粘的{
位置:固定;
排名:0;
宽度:100%;
z指数:100;
盒影:2p2px0RGBA(0,0,0,0.16);
}
.普通的{
边框:1px纯黑;
填充:200px 10px;
边缘底部:20px;
}
向下滚动以查看粘性效果
这是第一次
两个
三
四
五
填充div使滚动时间更长
填充div使滚动时间更长
填充div使滚动时间更长
内容被剪切是因为它最终位于导航栏后面,因此您可以在.content
的顶部添加额外的填充,这样当它位于导航栏后面时,它就会展开
您可以随意更改这些值,因为这可能有点紧张,但似乎有您想要的效果
window.onscroll=function(){
myFunction();
};
var navbar=document.getElementById(“navbar”);
var sticky=navbar.offsetTop;
函数myFunction(){
如果(window.pageYOffset>=粘性){
navbar.classList.add(“粘性”);
document.getElementById(“navbar”).style.padding=“40px 16px”;
document.querySelector(“.content”).style.paddingTop=“116px”;
}否则{
navbar.classList.remove(“粘性”);
document.querySelector(“.content”).style.paddingTop=“16px”;
document.getElementById(“navbar”).style.padding=“25px 16px”;
}
}
功能头点击(elem){
if(elem.innerHTML==“这是一个”){
document.getElementById(“一”).scrollIntoView();
}
if(elem.innerHTML==“这是两个”){
document.getElementById(“两个”).scrollIntoView();
}
if(elem.innerHTML==“这是三个”){
document.getElementById(“三”).scrollIntoView();
}
if(elem.innerHTML==“这是四个”){
document.getElementById(“四”).scrollIntoView();
}
}
正文{
保证金:0;
字号:28px;
}
#导航栏{
溢出:隐藏;
背景色:#333;
填充:25px 16px;
}
#导航