首页 > 其他分享 >返回顶部的按钮制作

返回顶部的按钮制作

时间:2023-07-06 09:46:48浏览次数:29  
标签:返回 header 顶部 height 回到 goTop 按钮

一、我们的需求
1、滚动条滚动超过临界点的时候,顶部通栏显示,未超过就隐藏

2、滚动条滚动超过临界点,回到顶部按钮显示,未超过就隐藏

3、点击回到顶部按钮,滚动条滚动回到顶部

二、布局结构
1.需要一个顶部标签和一个回到顶部按钮标签

2.让页面超过浏览器可视窗口高度

3.设置顶部样式,默认是在超出页面的

4.设置回到顶部按钮样式,默认是在隐藏的

代码展示:
设置基本样式

<div class="header">顶部</div>
<div class="goTop">回到顶部</div>
//设置顶部样式
.header{
width: 100%;
height: 80px;
display: flex;
justify-content: center;
align-items: center;
font-size: 30px;
color: #fff;
background-color: rgb(86, 226, 180);
transition: top 0.5s linear;
overflow: hidden;
position: fixed;
top: -80px;
left: 0;
}
//设置回到顶部样式
.goTop{
width: 50px;
height: 50px;
background-color: pink;
font-size: 20px;
text-align: center;
line-height: 25px;
color: #fff;
position: fixed;
bottom: 50px;
right: 50px;
display: none; /* 默认隐藏 */

}
三、逻辑分析
重点:

1.给浏览器绑定滚动事件,实时获取浏览器卷去的高度

2.判断卷去的高度决定隐藏还是显示

3.给回到顶部按钮绑定点击事件,点击的时候滚动回到顶部

首先

1、我们要获取header和goTop元素

var header = document.querySelector('.header')
var goTop = document.querySelector('.goTop')
2、紧接着绑定事件

window.onscroll =function (){
//获取当前浏览器的高度
var height = document.documentElement.scrollTop || document.body.scrollTop
3、判断浏览器卷去的高度是否大于我们的临界点来决定我们要做那些事情

if(height >= 300) {
// 设置行内样式显示顶部
header.style.top = '0px'
goTop.style.display = 'block'
} else {
// 设置行内样式隐藏
header.style.top = '-80px'
goTop.style.display = 'none'
}
}
4、给回到顶部绑定点击事件,使点击回到顶部的时候滚动回到顶部

goTop.onclick = function() {
window.scrollTo({
top:0,
behavior:'smooth'
})

 

标签:返回,header,顶部,height,回到,goTop,按钮
From: https://www.cnblogs.com/qwertyuiop147258369/p/17531219.html

相关文章

  • 前端Vue自定义顶部导航栏navBar 导航栏搜索框searchBar 导航栏右侧菜单按钮button
    前端Vue自定义顶部导航栏navBar导航栏搜索框searchBar导航栏右侧菜单按钮button,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13342效果图如下:cc-headerSearch使用方法<!--icon:右侧菜单图标@searchClick:搜索点击 @rigIconClick:右......
  • 按钮倒计时
    <el-buttonsize="default":loading="codeLoading"@click="getCode"><spanv-show="!codeLoading">获取验证码</span>......
  • 根据数据的权重,随机返回一个数据
    /***根据权重,随机取出值*@paramdataWeightMap数据-权重的映射*@param<T>数据类型*@return根据权重随机的数据*/publicstatic<T>TrandomWeight(Map<T,Integer>dataWeightMap){//<数据,int[min,max]>计算是否属于此范围时:前包后不包Map<T,i......
  • 不确定传参的个数n=(1,2,...) 返回n*n的和
    #函数不确定的参数情况下输出n*n的和defcalc(numbers):total=0forninnumbers:print(f'n:{n}')total=total+n*nprint(f'total:{total}')returntotal#调用函数result=calc((1,2))print(f'result:{result}')......
  • 【快应用】ad-button按钮与加桌组件文案调试
    ​ 【关键词】体验版、文案配置、广告、加桌 【问题背景】快应用引擎版本更新到1106版本后,广告ad-button和加桌组件新增了预制文案配置,仅支持使用已有的,不再支持自定义文案。在使用最新版本的加载器进行调试的时候,设置的文案不能生效仍是显示的是默认的文案,该如何处理?代码......
  • 常用 QT 样式与方法(按钮悬浮变色,渐变色等)
    1QSS按钮悬浮效果类似于企业微信等,鼠标悬浮在某按钮上,按钮会改变背景色来达到告知用户"选中"的效果,如下图所示:可以看到其实是background有一个浅灰色,同理,我们可以在hover的时候改变按钮的background如企业微信这样的作法,或者更改按钮文字颜色。主要使用的QT函数,示......
  • 函数 传参 返回值
    #函数传参deffoo1(name,address):print(name,address)#直接传入参数foo1('fqs',"huilongguan")#关键字传入参数foo1(name='doudou',address='huilongguan')'''fqshuilongguandoudouhuilongguan'''......
  • el-tree树点击全选按钮,全部展开并且全选
    先看图:代码如下://全部选中qxClick(){this.isQx=!this.isQx;//判断按钮的状态this.expandAll();if(this.isQx){console.log(this.isQx,"-------------------------------",this.datas);//设置this.$r......
  • scrollIntoView返回顶部失效问题
    背景:在vue项目中进入页面使用了scrollIntoView方法让页面滚动回顶部,同样的详情页面发现有的可以返回顶部,但是有的失效。代码如下:import{onBeforeRouteUpdate}from"vue-router";onBeforeRouteUpdate((to,from)=>{setTimeout(()=>{document.getElementById......
  • go 传参 类型:接口类型 返回统配接口类型 , 求两个切片并集
     用一个函数可以同时求两个[]string 切片,或者两个[]int切片并集packagemain//测试统配传参funccommonParamTest(s1,s2interface{})interface{}{switchv:=s1.(type){//获取对应的类型case[]string:m:=make(map[string]int)......