广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js scrollTop如何到达指定位置
  • 158
分享到

js scrollTop如何到达指定位置

js scrollTopscrollTop指定位置js scrollTop指定位置 2022-11-13 18:11:34 158人浏览 薄情痞子
摘要

目录js scrollTop到达指定位置原生js获取scrollTop1、各浏览器下 scrollTop的差异 2、获取scrollTop值 js scrollT

js scrollTop到达指定位置

方法主要利用scrolltop值做运动, 用于到达用户指定的位置(如返回顶部把参数target设置为0即可),处理了多种情况如 scrolltop > 目标值 向上运动 ,等4种情况 , 代码及用法贴上

GoTo = function(target){
    var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
    if (scrollT >target) {
        var timer = setInterval(function(){
            var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
            var step = Math.floor(-scrollT/6);
            document.documentElement.scrollTop = document.body.scrollTop = step + scrollT;
            if(scrollT <= target){
                document.body.scrollTop = document.documentElement.scrollTop = target;
                clearTimeout(timer);
            }
        },20)
    }else if(scrollT == 0){
        var timer = setInterval(function(){
            var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
            var step = Math.floor(300/3*0.7);
            document.documentElement.scrollTop = document.body.scrollTop = step + scrollT;
            console.log(scrollT)
            if(scrollT >= target){
                document.body.scrollTop = document.documentElement.scrollTop = target;
                clearTimeout(timer);
            }
        },20)
    }else if(scrollT < target){
        var timer = setInterval(function(){
            var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
            var step = Math.floor(scrollT/6);
            document.documentElement.scrollTop = document.body.scrollTop = step + scrollT;
            if(scrollT >= target){
                document.body.scrollTop = document.documentElement.scrollTop = target;
                clearTimeout(timer);
            }
        },20)
    }else if(target == scrollT){
        return false;
    }
}

用法 function(target) / / 目前唯一target(目标距离number) ,

on(goPs,'click',function(){ goTo(2450) }); //运动到scrolltop值为2450地位置,下面也一样, 运动到指定的位置 
on(goJob,'click',function(){ goTo(3373) })on(goTel,'click',function(){ buffer.goTo(3373) });
on(goMe,'click',function(){ buffer.goTo(1539) })on(goHome,'click',function(){ buffer.goTo(0) });
on(scrollgoOne,'click',function(){ buffer.goTo(2450) });on(scrollgoPc,'click',function(){ buffer.goTo(2450) });
on(scrollJob,'click',function(){ buffer.goTo(3373) });on(scrollMe,'click',function(){ buffer.goTo(1539) });
on(goTop,'click',function(){ buffer.goTo(0) })

原生js获取scrollTop

1、各浏览器下 scrollTop的差异 

IE6/7/8: 

  • 对于没有doctype声明的页面里可以使用  document.body.scrollTop 来获取 scrollTop高度 ; 
  • 对于有doctype声明的页面则可以使用 document.documentElement.scrollTop; 

Safari:

  • safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ; 

Firefox: 

  • 火狐等等相对标准些的浏览器就省心多了,直接用 document.documentElement.scrollTop ; 

2、获取scrollTop值 

完美的获取scrollTop 赋值短语 : 

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

通过这句赋值就能在任何情况下获得scrollTop 值。 

仔细观察这句赋值,你发现啥了没?? 

没错, 就是 window.pageYOffset  (Safari)   被放置在 || 的中间位置。 

因为当 数字0 与 undefine 进行 或运算时,系统默认返回最后一个值。即或运算中 0 == undefine ; 

当页面滚动条刚好在最顶端,即scrollTop值为 0 时。  IE 下 window.pageYOffset  (Safari) 返回为 undefine ,此时将window.pageYOffset  (Safari) 放在或运算最后面时, scrollTop 返回 undefine ,  undefine 用在接下去的运算就会报错咯。 

而其他浏览器 无论 scrollTop 赋值或运算顺序如何都不会返回 undefine.  可以安全使用.. 

所以说到头还是IE的问题咯. 杯具… 

精神有点恍惚,不知道有没有表达清楚。 

不过最后总结出来这句实验过OK,大家放心使用; 

var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: js scrollTop如何到达指定位置

本文链接: https://www.lsjlt.com/news/170119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js scrollTop如何到达指定位置
    目录js scrollTop到达指定位置原生js获取scrollTop1、各浏览器下 scrollTop的差异 2、获取scrollTop值 js scrollT...
    99+
    2022-11-13
    js scrollTop scrollTop指定位置 js scrollTop指定位置
  • JS如何实现滚动到指定位置导航栏固定顶部
    小编给大家分享一下JS如何实现滚动到指定位置导航栏固定顶部,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码:<!DOCT...
    99+
    2022-10-19
  • JS如何在数组指定位置插入/删除数据
    这篇文章主要为大家展示了“JS如何在数组指定位置插入/删除数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何在数组指定位置插入/删除数据”这篇文章吧。s...
    99+
    2022-10-19
  • 如何用CSS实现平滑滚动到指定位置
    如何用CSS实现平滑滚动到指定位置在网页设计和开发中,有时我们需要实现平滑滚动到页面的指定位置。这种滚动效果不仅能增加页面的动感和交互性,还能提升用户体验。本文将介绍如何使用CSS来实现这一功能,并提供具体的代码示例。一、使用scroll-...
    99+
    2023-11-21
    CSS平滑滚动
  • jquery如何模仿锚点跳转到页面指定位置
    这篇文章主要为大家展示了“jquery如何模仿锚点跳转到页面指定位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery如何模仿锚点跳转到页面指定位置”这...
    99+
    2022-10-19
  • SpringBoot如何上传图片到指定位置并返回URL
    这篇文章将为大家详细讲解有关SpringBoot如何上传图片到指定位置并返回URL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求前端的图片上传到服务器指定的文件目录,并且将URL返回给前端前端部分(E...
    99+
    2023-06-29
  • 如何用CSS实现平滑滚动到指定元素位置
    在网站开发过程中,经常需要实现平滑滚动到指定的元素位置。这种效果可以提高网站的用户体验,让用户更加自然地浏览页面内容。实现这种效果的方式有很多,其中使用CSS是比较简单的一种。下面将介绍如何使用CSS实现平滑滚动到指定元素位置,并提供具体的...
    99+
    2023-11-21
    平滑滚动 指定元素 关键词:CSS
  • webpack如何打包并将文件加载到指定的位置
    这篇文章主要介绍了webpack如何打包并将文件加载到指定的位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用webpack打包,最爽的...
    99+
    2022-10-19
  • JS前端性能指标定位FMP如何使用
    这篇文章主要介绍“JS前端性能指标定位FMP如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS前端性能指标定位FMP如何使用”文章能帮助大家解决问题。什么是FMP?可能大家对「白屏时间」这个...
    99+
    2023-07-04
  • 如何使用批处理实现全盘搜索指定文件并拷贝到指定位置
    小编给大家分享一下如何使用批处理实现全盘搜索指定文件并拷贝到指定位置,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:@echo off&setlocal enabledelayedexp...
    99+
    2023-06-08
  • php如何删除指定位置字符串
    这篇文章主要讲解了“php如何删除指定位置字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何删除指定位置字符串”吧!一、删除指定位置的单个字符如果需要删除字符串中某个指定位置的单...
    99+
    2023-07-06
  • Android listview如何实现定位到上次显示的位置
    这篇文章主要为大家展示了“Android listview如何实现定位到上次显示的位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android listview如何实现定位到上次显示的位置”...
    99+
    2023-05-30
    android listview
  • php如何替换指定位置的字符串
    这篇文章主要介绍了php如何替换指定位置的字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合...
    99+
    2023-06-14
  • js如何填充一个字符串到指定的长度
    这篇文章主要为大家展示了“js如何填充一个字符串到指定的长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何填充一个字符串到指定的长度”这篇文章吧。如何填充一个字符串到指定的长度有时,我们...
    99+
    2023-06-27
  • js如何实现点击返回跳转到指定页面
    这篇文章主要介绍了js如何实现点击返回跳转到指定页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js如何实现点击返回跳转到指定页面文章都会有所收获,下面我们一起来看看吧。功能描述:在浏览器中新建标签页并指定一...
    99+
    2023-07-04
  • php如何去掉指定位置之后的内容
    这篇文章主要介绍“php如何去掉指定位置之后的内容”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何去掉指定位置之后的内容”文章能帮助大家解决问题。去除方法:1、使用“substr_repla...
    99+
    2023-06-30
  • R语言 如何获取指定位置的数据
    R语言-获取指定位置的数据 R中采用数据对象+[ , ]的方式获取对应位置的数据,根据填入索引参数的不同类型可具体分为: 正整数、负整数、零、空格、逻辑值、名称 > ma...
    99+
    2022-11-12
  • 如何修改Apache配置指定php配置文件php.ini的位置
    这篇文章主要介绍了如何修改Apache配置指定php配置文件php.ini的位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一般Apache安装php后,php配置文件默认...
    99+
    2023-06-09
  • 如何创建快捷方式到自定义的位置
    本篇内容介绍了“如何创建快捷方式到自定义的位置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  把如下代码内容保存为shortcut.vbs...
    99+
    2023-06-08
  • 如何设置Windows到指定时间自动关机
      1. Windows 7在开始菜单底部的搜索栏输入“计划任务”,Windows 8/8.1可以通过Win+Q搜索“计划任务”,打开计划任务程序;   2. 通过&ldq...
    99+
    2023-06-03
    Windows 自动关机 时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作