通过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>
相关文章
|
2月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
4天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
77 24
|
23天前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
71 2
|
2月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
66 7
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
40 6
|
2月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
47 5
|
2月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
157 1
|
2月前
|
Web App开发 JavaScript 前端开发
高性能的纯Js滚动条美化插件smooth-scrollbar
smooth-scrollbar是一款高性能的纯JavaScript滚动条美化插件。该滚动条为现代浏览器而制作,它具有高性能,自由配置,平滑滚动等特点,支持各种现代桌面浏览器和手机设备。
|
前端开发
CSS3 实用技巧:漂亮的页面顶部阴影
您可能感兴趣的相关文章 2012年最酷的25个 CSS3 学习教程 35个让人惊讶的 CSS3 动画效果演示 推荐12个漂亮的 CSS3 按钮实现方案 20个非常绚丽的 CSS3 特性应用演示 24款非常实用的 CSS3 工具终极收藏 ...
785 0