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

实现回到顶部按钮(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日

相关文章

  • 网站模型设计中的内涵和重点

    网站模型设计是指在开发一个网站之前,需要通过分析用户、业务和技术等需求,构建出网站的整体框架和功能结构,从而为后续的网站开发工作奠定基础。在网站模型设计中,有许多内涵和重点需要注意,下面我将详细讲解网站模型设计中的完整攻略。 确定网站模型设计的目标和范围 在网站模型设计的初期,需要明确网站的目标和范围。目标是指网站的宏观需求,如网站的定位和用户需求等。范围是…

    css 2023年6月9日
    00
  • uniapp组件之tab选项卡滑动切换功能实现

    下面是详细讲解“uniapp组件之tab选项卡滑动切换功能实现”的完整攻略。 概述 tab选项卡是开发中经常使用的一个组件,可以实现快速的切换页面。在uniapp中,我们可以使用 uni-ui 组件库提供的 uni-tabs 来实现tab选项卡。但是,如果我们需要实现tab选项卡的滑动切换功能,就需要进行一些自定义操作。 本攻略将详细讲解如何使用uniapp…

    css 2023年6月10日
    00
  • 什么情况下使用table 什么情况下使用css(经验分享)

    当我们需要呈现一些表格数据时,通常可以使用 HTML 的 table 标签来实现。table 标签可以创建包含行和列的表格,每个单元格可以包含文本、图片或其他 HTML 元素。例如,我们可以使用以下 HTML 代码创建一个简单的表格: <table> <tr> <th>姓名</th> <th>年龄&…

    css 2023年6月10日
    00
  • 基于jQuery实现select下拉选择可输入附源码下载

    为了实现“基于jQuery实现select下拉选择可输入”,需要在HTML页面中增加以下代码结构: <label for="select-input">下拉选择可输入:</label> <select id="select-input" name="select-input&qu…

    css 2023年6月11日
    00
  • bootstrap多层模态框滚动条消失的问题

    让我为你详细讲解“bootstrap多层模态框滚动条消失的问题”的完整攻略。 问题描述 在使用Bootstrap框架开发多层模态框时,可能会遇到滚动条消失的问题。当打开第一个模态框时,滚动条正常显示,但是当在第一个模态框中打开第二个模态框时,滚动条就会消失,导致用户无法向下滚动页面。 解决方法 1. 自定义CSS 我们可以自定义一些CSS样式来解决这个问题。…

    css 2023年6月10日
    00
  • jQuery EasyUI实现右键菜单变灰不可用效果

    实现右键菜单变灰不可用的效果,需要对jQuery EasyUI组件中的menu、menuitem进行操作。下面是具体的步骤: 1.在EasyUI中定义菜单 首先在HTML文件中定义一个菜单: <div id="myMenu" style="width: 120px;"> <div id="m…

    css 2023年6月10日
    00
  • 纯css实现蓝色圆角效果水平导航菜单代码

    接下来我将分享一份实现纯css水平导航菜单的代码攻略。首先,我们需要明确的是,要实现蓝色圆角效果是通过CSS属性 border-radius 来控制元素的边框半径实现的。而通过HTML元素的嵌套结构,我们可以实现水平导航菜单的布局。下面详细介绍实现过程。 步骤 1: 准备 HTML 结构 在 <ul> 标记中嵌套 <li> 标记,用于…

    css 2023年6月10日
    00
  • 浅谈CSS浮动的特性

    下面将为大家详细讲解“浅谈CSS浮动的特性”的完整攻略。 什么是CSS浮动 CSS浮动(float)是一种常见的布局方式,可以让元素沿着浏览器的可用空间浮动,可以自动与其他元素结合,并且可以清除浮动。CSS浮动通常用于布局多列文本、图像和菜单等元素。 如何使用CSS浮动 可以通过在CSS样式表中使用“float”属性来使用CSS浮动。下面是一个例子,展示如何…

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