vue中实现滚动到一定距离显示联系我们和回到顶部等功能

滚动到一定距离返回到顶部,使用 scrollIntoView 方法

Element.scrollIntoView方法滚动当前元素,进入浏览器的可见区域
该方法可以接受一个布尔值作为参数。如果为true,表示元素的顶部与当前区域的可见部分的顶部对齐(前提是当前区域可滚动);如果为false,表示元素的底部与当前区域的可见部分的尾部对齐(前提是当前区域可滚动)。如果没有提供该参数,默认为true
使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果。

 <!-- 热线电话 固定展示 -->
<v-tel id="tel" class="tel"></v-tel>

/*刚开始不展示*/
.tel{
    display: none;
}
mounted() {
// 控制电话显示
window.addEventListener("scroll", this.scrollToTop);
},
methods: {
//监听回到顶部按钮距浏览器顶部的距离,滚动的距离如果大于浏览器高度时,设置 toTop 为true,否则就是false;
// scrollToTop() {
//   var scrollTop =
//     window.pageYOffset ||
//     document.documentElement.scrollTop ||
//     document.body.scrollTop;
//   console.log("距离顶部的距离:" + scrollTop);
// },
scrollToTop(el) {
  let topBtn = document.getElementById("tel");
  let scrollTop =
	window.pageYOffset ||
	document.documentElement.scrollTop ||
	document.body.scrollTop;
  let browserHeight = window.outerHeight;
  if (scrollTop > browserHeight - 500) {
	topBtn.style.display = "block";
  } else {
	topBtn.style.display = "none";
  }
}
},
//离开该页面需要移除这个监听的事件,不然会报错;
destroyed() {
window.removeEventListener("scroll", this.scrollToTop);
}

 

posted @   JackieDYH  阅读(260)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示