js+css实现回到顶部按钮(back to top)

yizhihongxing

实现回到顶部按钮(back to top)的方法有很多种,其中一种使用js+css来实现。以下是实现该功能的详细步骤:

第一步:创建HTML结构

首先我们需要在HTML中创建一个按钮元素,并给它一个ID,例如:

<button id="back-to-top">返回顶部</button>

第二步:添加CSS样式

接下来,我们需要为按钮添加一些基本的CSS样式来控制它的位置、大小、样式等。例如:

#back-to-top {
  position: fixed;   /* 固定在页面右下角位置 */
  bottom: 20px;
  right: 20px;
  display: none;     /* 初始不显示 */
  cursor: pointer;   /* 鼠标悬停时显示手型 */
}

第三步:编写JavaScript

在JavaScript中,我们需要为按钮添加一个点击事件,当点击按钮时,页面会自动滚动回到顶部。我们可以使用以下代码实现:

var topBtn = document.getElementById('back-to-top');
window.onscroll = function() {  // 监听窗口滚动事件
  if (document.documentElement.scrollTop > 200) {  // 当滚动距离超过200px时显示按钮
    topBtn.style.display = 'block';
  } else {
    topBtn.style.display = 'none';  // 否则隐藏按钮
  }
}
topBtn.onclick = function() {  // 点击按钮时回到顶部
  document.documentElement.scrollTop = 0;
}

代码解析:

  • 首先,我们使用document.getElementById方法获取到按钮元素,并将其赋值给topBtn变量。

  • 然后,我们监听窗口的滚动事件,当滚动距离超过200px时,显示按钮;否则,隐藏按钮。

  • 最后,当按钮被点击时,使用document.documentElement.scrollTop方法将窗口滚动到页面的顶部。

示例1

以下是一个完整的示例,包括HTML、CSS和JavaScript代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Back to top</title>
  <style>
    #back-to-top {
      position: fixed;   /* 固定在页面右下角位置 */
      bottom: 20px;
      right: 20px;
      display: none;     /* 初始不显示 */
      cursor: pointer;   /* 鼠标悬停时显示手型 */
    }
  </style>
</head>
<body>
  <div style="height: 1000px;"></div>  <!-- 确保页面有滚动条 -->
  <button id="back-to-top">返回顶部</button>
  <script>
    var topBtn = document.getElementById('back-to-top');
    window.onscroll = function() {  // 监听窗口滚动事件
      if (document.documentElement.scrollTop > 200) {  // 当滚动距离超过200px时显示按钮
        topBtn.style.display = 'block';
      } else {
        topBtn.style.display = 'none';  // 否则隐藏按钮
      }
    }
    topBtn.onclick = function() {  // 点击按钮时回到顶部
      document.documentElement.scrollTop = 0;
    }
  </script>
</body>
</html>

运行该页面后,当页面被滚动超过200px时,将在页面右下角显示一个返回顶部按钮。

示例2

我们还可以使用jQuery来实现相同的效果。以下是使用jQuery的示例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Back to top</title>
  <style>
    #back-to-top {
      position: fixed;   /* 固定在页面右下角位置 */
      bottom: 20px;
      right: 20px;
      display: none;     /* 初始不显示 */
      cursor: pointer;   /* 鼠标悬停时显示手型 */
    }
  </style>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script>
    $(document).ready(function() {
      var topBtn = $('#back-to-top');
      $(window).scroll(function() {  // 监听窗口滚动事件
        if ($(window).scrollTop() > 200) {  // 当滚动距离超过200px时显示按钮
          topBtn.show();
        } else {
          topBtn.hide();  // 否则隐藏按钮
        }
      });
      topBtn.click(function() {  // 点击按钮时回到顶部
        $('html, body').animate({scrollTop: 0}, 500);
      });
    });
  </script>
</head>
<body>
  <div style="height: 1000px;"></div>  <!-- 确保页面有滚动条 -->
  <button id="back-to-top">返回顶部</button>
</body>
</html>

与示例1相比,我们引入了jQuery库,并使用$(document).ready(function(){ })方法来确保页面DOM元素加载完成后再执行代码。其他部分与示例1的代码基本一致,只是使用了jQuery的语法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js+css实现回到顶部按钮(back to top) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式

    CSS3 重置iPhone浏览器按钮input,select等表单元素的默认样式,可以通过以下步骤实现: 选取需要重置样式的表单元素 首先,要重新设置表单元素的样式,需要准确选取需要重置样式的元素。可以利用CSS选择器中的属性选择器来选取想要的元素。例如,想要简化select下拉列表框的样式,可以利用以下选择器: select { /* 重置样式代码 */ …

    css 2023年6月11日
    00
  • CSS前端页面渲染优化属性will-change的具体使用

    请听我具体讲解CSS前端页面渲染优化属性will-change的具体使用。 1. will-change简介 在Web页面中,一些元素在某些情况下会产生复杂的渲染和绘制,这会导致页面性能下降,会出现页面不流畅,掉帧等问题。 will-change属性就是为了解决这个问题而诞生的。will-change可以为指定的元素创建一个层级别(Layer)的相关环境,使…

    css 2023年6月10日
    00
  • jquery+CSS实现悬浮登录框遮罩

    实现一个基于 jQuery 和 CSS 的悬浮登录框遮罩,一般需要以下步骤: 在 HTML 中添加登录框和遮罩层的 DOM 结构; 通过 CSS 设计登录框的样式,并隐藏登录框; 为遮罩层和登录框添加事件处理函数; 使用 jQuery 控制事件和动画效果,从而实现用户交互。 下面将对这些步骤进行详细讲解。 1. 添加 DOM 结构 先要在 HTML 中添加遮…

    css 2023年6月10日
    00
  • CSS 容器背景 10 种颜色渐变Demo(linear-gradient())

    当我们使用 CSS 容器元素时,我们可以设置一种渐变背景色来改变样式。这种技术使用 linear-gradient() 函数来创建颜色渐变。接下来,我将为你提供一个完整的攻略来使用这个函数。 一、基本语法 linear-gradient() 函数的基本语法如下: background: linear-gradient(direction, color-sto…

    css 2023年6月9日
    00
  • UI自动化定位常用实现方法代码示例

    下面是关于“UI自动化定位常用实现方法代码示例”的完整攻略: 理解UI自动化定位 在进行UI自动化测试时,定位元素是非常关键的一步,因为测试脚本需要通过定位元素才能进行后续的操作和断言。常用的元素定位方式包括:id、name、class、tag、xpath等。在实现元素定位时,还需要考虑定位的准确性、稳定性和代码的可维护性。 常用的UI自动化定位方法 1. …

    css 2023年6月9日
    00
  • 使用css实现全兼容浏览器的三角形

    要使用CSS实现全兼容浏览器的三角形,通常有两种方法。 方法一:使用border实现 使用border属性,可以非常简单地实现三角形效果。假设我们要画一个向右的三角形,可以使用以下代码: .triangle { width: 0; height: 0; border-top: 50px solid transparent; border-bottom: 50…

    css 2023年6月9日
    00
  • CSS2实现的隔行换色

    “隔行换色”是一种非常常见的网页美化效果,它可以让页面元素以交替不同颜色的方式展现。在CSS语言中,我们可以使用伪类选择器实现这一效果。在CSS2中,可以使用:nth-child()或者:nth-of-type()伪类来完成隔行换色的功能。 实现CSS2隔行换色,需要以下步骤: 1.选择需要实现隔行换色的HTML元素 首先,需要选定你要实现隔行换色的 HTM…

    css 2023年6月10日
    00
  • 使用jquery实现放大镜效果

    针对“使用 jQuery 实现放大镜效果”的完整攻略,我会给出以下步骤: 1. 准备工作 首先需要引入 jQuery 库,可以直接使用 jQuery 官网提供的CDN链接,也可以将 jQuery 下载到本地并引用。其次,需要准备放大镜所需的图片资源和相应的 CSS 样式文件。 2. HTML 结构 在页面中创建一个容器来呈现图片和放大效果,并将 HTML 结…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部