通过HTML+CSS+JavaScript实现鼠标移动到页面顶部导航栏出现,如果移出导航栏3秒又隐藏起来,而且不受滚动条影响(二)...

简介: 通过HTML+CSS+JavaScript实现鼠标移动到页面顶部导航栏出现,如果移出导航栏3秒又隐藏起来,而且不受滚动条影响(二)...

效果:默认一直隐藏导航栏,当滚动条滚到超过300px按钮出现,点击回到顶部按钮回到顶部,并隐藏按钮,鼠标移动到顶部导航栏出现,鼠标移出导航栏后3秒后再次隐藏(导航栏和按钮都是固定定位)


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript_test</title>
<style>
body {
  margin: 0;
  padding: 0;
  height: 3000px;    /*让滚动条出现*/
}
.DW {
  display: flex;           /*固定定位*/
  justify-content: center;  /*让文字水平居中*/
  align-items: center;      /*让文字垂直居中*/
  width: 100%;
  height: 80px;
  background-color: green;   /*背景颜色绿色*/
  color: aliceblue;
  font-size: 2em;
  transition: top .5s linear;  /*导航栏过渡出现和隐藏*/
  position: fixed;   /* 绝对定位,不管滚动条上下滚动都在相应的位置*/
  top: -80px;        /*隐藏导航栏*/
  left: 0;
}
.goTop {
  width: 50px;
  height: 50px;
  background-color: aquamarine;
  font-size: 20px;
  text-align: center;
  line-height: 25px;
  color: azure;
  position: fixed;    /*固定定位*/
  bottom: 50px;
  right: 50px;
  display: none;   /*隐藏按钮*/
}
.fusu {
  position: fixed;    /*固定定位*/
  width: 100%;
  height: 10px;
  left: 0;
  top: 0;
}
</style>
</head>
<body>
<div class="fusu divTop" id="divtop"></div>
<div class="DW topdhl divdhl" id="dhl">导航栏</div>
<buttion class="goTop" id="gotop">回到顶部</buttion>
<script>
  //获取导航栏、按量、顶部div的元素
  var topw=document.getElementById("dhl")
  var goTop=document.getElementById("gotop")
  var divTop=document.getElementById("divtop")
   //滚动滚动条触发事件
     window.onscroll=function(){
    //获取滚动条位置
  var jhlheight=document.documentElement.scrollTop||document.body.scrollTop
  //判断滚动条位置
  if(jhlheight>=300){
  goTop.style.display="block"  //显示按钮
  }else{
  goTop.style.display="none"  //隐藏按钮  
   }
  }
  //点击按钮事件
   goTop.onclick=function(){
  window.scrollTo({     //设置滚动条位置
    top:0,            //回到顶部
    behavior:"smooth"   //平滑过渡
  })  
  }  
    //鼠标移入div后触发的事件
  var ss=divTop.onmouseover=function(){
  var tar=topw.style.top="0px"  
  } 
    //鼠标移入导航栏触发的事件
    topw.onmouseover=function(){
  var tar=topw.style.top="0px"
  } 
  //鼠标移出导航栏后触发的事件
  topw.onmouseout=function(){
    //定时器函数
  setTimeout(function(){
    topw.style.top="-80px"
     },3000)    
  }   
  </script>
</body>
</html>
相关文章
|
3月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
5月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
189 56
|
3月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
3月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
3月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
3月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
3月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
3月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
3月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示