博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
页面平滑滚动
阅读量:6979 次
发布时间:2019-06-27

本文共 1095 字,大约阅读时间需要 3 分钟。

//Chrome和Firefox中均受支持,但不支持Edge或Safaridocument.querySelector('.hello').scrollIntoView({   behavior: 'smooth' });let mainNavLinks = document.querySelectorAll("nav ul li a");mainNavLinks.forEach(link => {  link.addEventListener("click", event => {    event.preventDefault();    let target = document.querySelector(event.target.hash);    target.scrollIntoView({      behavior: "smooth",      block: "start"    });  });});//CSS可以做到这一点!有一个scroll-behaviorhtml {  scroll-behavior: smooth;}复制代码

所在位置标识

let mainNavLinks = document.querySelectorAll("nav ul li a");let mainSections = document.querySelectorAll("main section");let lastId;let cur = [];window.addEventListener("scroll", event => {  let fromTop = window.scrollY;  mainNavLinks.forEach(link => {    let section = document.querySelector(link.hash);    if (      section.offsetTop <= fromTop &&      section.offsetTop + section.offsetHeight > fromTop    ) {      link.classList.add("current");    } else {      link.classList.remove("current");    }  });});//lodash 方法window.addEventListener("scroll", () => {  _.throttle(doThatStuff, 100);});复制代码

转载地址:http://cwfpl.baihongyu.com/

你可能感兴趣的文章
Centos 64位使用 yum 会安装两个相同软件包的解决方法
查看>>
Python 多线程抓取网页 牛人 use raw socket implement http request great
查看>>
脚本化 tmux — LinuxTOY
查看>>
《星际争霸2》引擎技术解析
查看>>
PowerDesigner 使用的一些技巧(转)
查看>>
POJ 2955 Brackets (区间DP)
查看>>
Mac中MacPorts安装和使用
查看>>
Appro DM8127 IPNC 挂载NFS遇到的问题及解决
查看>>
Delphi调用java开发的WebService,传入参数出错
查看>>
poj_2479 动态规划
查看>>
unity, monoDevelop ide 代码提示不起作用的解决方法
查看>>
MySQL 5.5.35 单机多实例配置详解
查看>>
iOS使用Security.framework进行RSA 加密解密签名和验证签名
查看>>
Java中正则Matcher类的matches()、lookAt()和find()的区别
查看>>
PHP获取毫秒时间戳,利用microtime()函数
查看>>
【ASP.NET Core】解决“The required antiforgery cookie "xxx" is not present”的错误
查看>>
C++ 纯虚方法
查看>>
.net内存回收与Dispose﹐Close﹐Finalize方法
查看>>
oracle update批量修改sql语句编写
查看>>
Web前端开发人员和设计师必读文章推荐【系列七】
查看>>