Javascript 滚动时如何停止页脚前的块?

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

我有一个“向上”的锚链接,我希望它停止在页脚前滚动。当有一个滚动条时,锚定下降到页脚,但它必须停在它前面。请帮助我。我在下面添加了jquery,html css代码。需要你的帮助

$("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”