Javascript 滚动时如何停止页脚前的块?
我有一个“向上”的锚链接,我希望它停止在页脚前滚动。当有一个滚动条时,锚定下降到页脚,但它必须停在它前面。请帮助我。我在下面添加了jquery,html css代码。需要你的帮助Javascript 滚动时如何停止页脚前的块?,javascript,css,Javascript,Css,我有一个“向上”的锚链接,我希望它停止在页脚前滚动。当有一个滚动条时,锚定下降到页脚,但它必须停在它前面。请帮助我。我在下面添加了jquery,html css代码。需要你的帮助 $("html, body").animate({ scrollTop: 0 }, 600); return false; }); <a href="#" class="scrollup" id="social-float" > <footer id="footer" class="site-fo
$("html, body").animate({ scrollTop: 0 }, 600);
return false;
});
<a href="#" class="scrollup" id="social-float" >
<footer id="footer" class="site-footer flex-y-c">
.scrollup{
width:40px;
height:40px;
position:fixed;
bottom: 48px;
right: 48px;
display:block;
text-indent: 0;
svg{
.a{
fill: #d2d2d2;
opacity: 1;
}
}
}
.scrollup:hover{
svg{
.a{
stroke: none;
fill: #9BAE88;
}
}
}
.scrollup:hover{
svg{
.b{
stroke: none;
fill: #222;
}
}
}
.site-footer {
min-height: 100px;
// margin-top: 1000px;
padding: 20px;
height: 45px;
font-size: 18px;
color: #fff;
background: #222222;
}
$(“html,body”).animate({scrollTop:0},600);
返回false;
});
.向上滚动{
宽度:40px;
高度:40px;
位置:固定;
底部:48px;
右:48px;
显示:块;
文本缩进:0;
svg{
.a{
填充:#d2d2d2;
不透明度:1;
}
}
}
.向上滚动:悬停{
svg{
.a{
中风:无;
填充物:9BAE88;
}
}
}
.向上滚动:悬停{
svg{
.b{
中风:无;
填充:#222;
}
}
}
.网站页脚{
最小高度:100px;
//利润上限:1000px;
填充:20px;
高度:45px;
字号:18px;
颜色:#fff;
背景:#22222;
}
假设页脚有一个id#页脚
,并假设浮动的“转到顶部”有一个id#社交浮动
。
以下代码应该可以工作:
var socialFloat = document.querySelector('#social-float');
var footer = document.querySelector('#footer');
function checkOffset() {
function getRectTop(el){
var rect = el.getBoundingClientRect();
return rect.top;
}
if((getRectTop(socialFloat) + document.body.scrollTop) + socialFloat.offsetHeight >= (getRectTop(footer) + document.body.scrollTop) - 10)
socialFloat.style.position = 'absolute';
if(document.body.scrollTop + window.innerHeight < (getRectTop(footer) + document.body.scrollTop))
socialFloat.style.position = 'fixed'; // restore when you scroll up
socialFloat.innerHTML = document.body.scrollTop + window.innerHeight;
}
document.addEventListener("scroll", function(){
checkOffset();
});
var socialFloat=document.querySelector(“#socialFloat”);
var footer=document.querySelector(“#footer”);
函数checkOffset(){
函数getRectTop(el){
var rect=el.getBoundingClientRect();
返回rect.top;
}
if((getRectTop(socialFloat)+document.body.scrollTop)+socialFloat.offsetHeight>=(getRectTop(footer)+document.body.scrollTop)-10)
socialFloat.style.position='absolute';
if(document.body.scrollTop+window.innerHeight<(getRectTop(页脚)+document.body.scrollTop))
socialFloat.style.position='fixed';//向上滚动时恢复
socialFloat.innerHTML=document.body.scrollTop+window.innerHeight;
}
document.addEventListener(“滚动”,函数(){
checkOffset();
});
是否已将当前id设置为元素?页脚应该有id=“footer”,固定在底部的元素应该有id=“social float”