【Html】js+css实现平滑滚动

news2024/9/21 7:59:47

效果

在这里插入图片描述

示例

<!DOCTYPE html>
<html>
  <head>
    <title> Document </title>
    <style>
      button{
        bottom: 0;
        position: fixed;
        z-index: 999;
        left: 0;
        background: rgb(94, 171, 255);
        border: 1px red;
        color: white;
        font-size: large;
        font-family: '';
      }
    img{
      position: relative;
      cursor: not-allowed;
      width: 100%;
      height: 100%;
      z-index: 0;
    }
    /*方式一:配合 “window.scrollTo(0,0);” 一起设置滚动行为:平滑*/
     html{
      scroll-behavior: smooth;
    } 
  </style>
  </head>
  <body>
    <button class="btn">回到顶部</button>
    <img src="https://picsum.photos/seed/1/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/2/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/3/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/4/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/5/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/6/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/7/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/8/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/9/800/600.jpg" alt=""/>
    <img src="https://picsum.photos/seed/10/800/600.jpg" alt=""/>
    <script>
    const btn = document.querySelector('.btn');
    btn.onclick = () => {
      //直接回到顶部
      window.scrollTo(0,0);

      /* 方式二:设置滚动到顶部行为:平滑*/
      /* window.scrollTo({
        top:0,
        behavior:"smooth"
      }); */
    }
  </script>
  </body>
</html>

推荐两种方式

方式一

第一步、使用js设置滚动位置

window.scrollTo(0,0);设置为滚动位置为x=0,y=0

    <script>
    const btn = document.querySelector('.btn');
    btn.onclick = () => {
      //直接回到顶部
      window.scrollTo(0,0);
    }
  </script>

第二步、使用css设置html的滚动行为

     html{
      scroll-behavior: smooth;
    } 

方式二

直接使用window.scrollTo设置滚动位置及滚动行为

      window.scrollTo({
        top:0,
        behavior:"smooth"
      });

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/698028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++、Redis读取base64格式的图像记录

C、Redis读取base64格式的图像记录 一、案例需求 1.另一台电脑利用C#和Redis将图像数据按照base64格式&#xff0c;存储在某一个key中 2.本机需要使用C和Redis将图像数据获取到&#xff0c;并写入本地。 环境&#xff1a;Ubuntu20、Redis、QT 二、Qt中的Pro文件配置 QT中的…

深度学习记录1(线性回归的实现)

1、整体思路 根据线性回归的定义&#xff0c; &#xff0c;建立线性回归模型&#xff0c;在损失函数的计算上&#xff0c;采用L2 Loss&#xff08;均方误差&#xff09;。同时&#xff0c;对于模型的优化采用随机梯度下降。 2、详细代码分析 import random import torch from…

Day7——Web安全基础下

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 回顾前言一、owasp top 10漏洞&#xff08;了解&#xff09;&#xff08;四年一更&#xff09;1.访问控制崩溃2.敏感数据暴露3.sql注入4.不安全的设计5.安全配置不当…

【单片机】STM32单片机的各个定时器的定时中断程序,标准库

文章目录 定时器1_定时中断定时器2_定时中断定时器3_定时中断定时器4_定时中断定时器5_定时中断 高级定时器和普通定时器的区别&#xff08;https://zhuanlan.zhihu.com/p/557896041&#xff09;&#xff1a; 定时器1_定时中断 TIM1是高级定时器&#xff0c;使用的时钟总线是R…

使用Megascans,Blender和Substance 3D画家创建渔人旅馆(p2)

今天云渲染小编接着Polina Tarakanova分享的Fishermans Inn项目上篇分享&#xff0c;下篇主要是纹理和材料、组装场景、照明等方面的分享。 纹理和材料 随着酒馆的模块化建设完成&#xff0c;是时候进入贴图阶段了。我使用Substance 3D Painter进行了所有的贴图工作。在我的场…

【网站创建】网络杂谈(6)之web网站的创建

涉及知识点 如何创建web网站&#xff0c;web网站创建的步骤&#xff0c;手把手教你如何搭建web网站&#xff0c;web网站创建的过程&#xff0c;深入了解web网站创建。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》&#xff0c;更多内容可去其主页关注下哈&#xff0c;不胜感…

基于Java+SpringBoot+Vue的计算机类考研交流平台设计与实现

博主介绍&#xff1a;擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案例…

React-View-UI组件库封装Loading加载中源码

目录 组件介绍Loading API能力组件源码组件测试源码组件库线上地址 组件介绍 Loading组件是日常开发用的很多的组件&#xff0c;这次封装主要包含两种状态的Loading&#xff0c;旋转、省略号&#xff0c;话不多说先看一下组件的文档页面吧&#xff1a; 正在上传…重新上传取…

掌握imgproc组件:opencv-图像变换

图像变换 1. 基于OpenCV的边缘检测1.1 边缘检测的一般步骤1.2 canny算子1.2.1 Canny边缘检测步骤&#xff1a;1.2.2 Canny边缘检测&#xff1a;Canny()函数1.2.3 Canny边缘检测案例 1.3 sobel算子1.3.1 sobel算子的计算过程1.3.2 使用Sobel算子&#xff1a;Sobel()函数1.3.3 示…

模拟高并发下RabbitMQ的削峰作用

在并发量很高的时候&#xff0c;服务端处理不过来客户端发的请求&#xff0c;这个时候可以使用消息队列&#xff0c;实现削峰。原理就是请求先打到队列上&#xff0c;服务端从队列里取出消息进行处理&#xff0c;处理不过来的消息就堆积在消息队列里等待。 可以模拟一下这个过…

生态+公链:中创面向未来的区块链建设!

未来的区块链市场&#xff0c;一定属于能够将区块链技术与应用完美结合在一起的产品。从互联网的发展历程来看&#xff0c;最后的竞争往往会集中到生态与兼容性。 如何将区块链的落地和应用更加有机地结合在一起&#xff0c;从而让区块链的功能和作用得到最大程度的发挥&#…

机器学习8:特征组合-Feature Crosses

特征组合也称特征交叉&#xff08;Feature Crosses&#xff09;&#xff0c;即不同类型或者不同维度特征之间的交叉组合&#xff0c;其主要目的是提高对复杂关系的拟合能力。在特征工程中&#xff0c;通常会把一阶离散特征两两组合&#xff0c;构成高阶组合特征。可以进行组合的…

css:去除input和textarea默认边框样式并美化

input input默认样式和focus样式 参考element-ui的css&#xff0c;可以实现如下效果 实现代码 <style>/* 去除默认样式 */input {border: none;outline: none;padding: 0;margin: 0;-webkit-appearance: none;-moz-appearance: none;appearance: none;background-im…

ElasticSearch 8.0+ 版本Windows系统启动

下载地址&#xff1a;https://www.elastic.co/cn/downloads/past-releases/winlogbeat-8-8-1 解压\elasticsearch\elasticsearch-8.5.1 进入bin目录&#xff0c;启动elasticsearch.bat 问题1&#xff1a; warning: ignoring JAVA_HOMED:\jdk1.8.0_271; using bundled JDK J…

使用凌鲨连接SSH服务器

SSH&#xff08;Secure Shell&#xff09;是一种加密的网络协议&#xff0c;用于安全地连接远程服务器。它提供了一种安全的通信方式&#xff0c;使得用户可以在不受干扰的情况下远程访问服务器。SSH协议的加密技术可以保护用户的登录信息和数据传输过程中的安全性。 SSH对于服…

伦敦银同业拆借利率查询

伦敦银同业拆借利率&#xff08;London InterBank Offered rate&#xff09;简称Libor&#xff0c;它是伦敦银业之间在货币市场的无担保借贷利率&#xff0c;主要报价有五种币别&#xff1a;美元、欧元、英镑、日圆、瑞士法郎&#xff0c;分别有隔夜、一周、一个月、两个月、三…

密码学—Vigenere破解Python程序

文章目录 概要预备知识点学习整体流程技术名词解释技术细节小结代码 概要 破解Vigenere需要Kasiski测试法与重合指数法的理论基础 具体知识点细节看下面这两篇文章 预备知识点学习 下面两个是结合起来使用猜测密钥长度的&#xff0c;只有确认了密钥长度之后才可以进行破解。 …

Jupyter Notebook左侧大纲目录设置

在 Jupyter Notebook 中&#xff0c;可以通过安装jupyter_contrib_nbextensions插件来实现在页面左边显示大纲的功能。 1. 安装插件 pip install jupyter_contrib_nbextensions 1.1 如何安装 windows cmd小黑裙窗口&#xff1b; 1.查看目前安装了哪些库 conda list 2. 使用…

【Oracle】springboot连接Oracle写入blob类型图片数据

目录 一、表结构二、mapper 接口和sql三、实体类四、controller五、插入成功后的效果 springboot连接Oracle写入blob类型图片数据 一、表结构 -- 创建表: student_info 属主: scott (默认当前用户) create table scott.student_info (sno number(10) constraint pk_si…

Vue3 完整项目搭建 Vue3+Pinia+Vant3/ElementPlus+typerscript

❤ Vue3 项目 1、Vue3+Pinia+Vant3/ElementPlus+typerscript环境搭建 1、安装 Vue-cli 3.0 脚手架工具 npm install -g @vue/cli2、安装vite环境 npm init @vitejs/app报错 使用: yarn create @vitejs/app依然报错 转而使用推荐的: npm c