Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动经过元素后,如何获取该元素的高度?_Javascript_Html_Css - Fatal编程技术网

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;
}
#导航