//(蓝色this部分为dom)
scrollToLeft(option?: {
  duration?: number,
  direction?: number
}) {
  let direction = option.direction || 1
  let animDuration = option.duration || 300
  let listWidth = this.dateList.scrollWidth,//list总的scroll宽度
  scrollItemWidth = listWidth / this.dateList.length;//每一个item宽度
  let left = this.scrollList.scrollLeft,//滚动条scrollLeft
      offsetLeft = left + scrollItemWidth * direction;   let targetLeft;
  if (offsetLeft < 0) {//超过最左边边界
    targetLeft = 0
  } else if (offsetLeft > (listWidth - this.dateList.offsetWidth)) {//超过最右边边界
    targetLeft = listWidth - this.dateList.offsetWidth
  } else {
    targetLeft = offsetLeft
  }   let scrollIntercal = setInterval(() => {
    if (option.direction < 0) {
      if (this.scrollList.scrollLeft > targetLeft) {
        this.scrollList.scrollLeft += (scrollItemWidth / (animDuration / 15)) * direction
      } else {
        clearInterval(scrollIntercal)
      }
    } else {
      if (this.scrollList.scrollLeft < targetLeft) {
        this.scrollList.scrollLeft += (scrollItemWidth / (animDuration / 15)) * direction
       } else {
        clearInterval(scrollIntercal)
       }  
      }  
   }, 15)
  }

scroll滚动动画(js/ts)的更多相关文章

  1. JS 实现无缝滚动动画原理(初学者入)

    这段时间在教培训班的学生使用原生javascript实现无缝滚动的动画案例,做了这个原理演示的动画,分享给自学JS的朋友!博主希望对你们有帮助! 在讲解之前先看一下demo: demo:https:/ ...

  2. wow.js+animate.css——有趣的页面滚动动画

    今天偶然间发现了一个使用特别简单的页面动画效果,还挺不错的,玩了一个上午,现在介绍一下这个滚动动画: 一.使用方法: 1.下载animate.css 2.下载wow.js 3.引用文件,像这样: &l ...

  3. js中scroll滚动相关

    js中scroll滚动相关 scroll,滚动,一般讨论的是网页整体与浏览器之间的关系. 一.元素相关 属性/方法 解释 element.scrollHeight 返回元素的整体高度. element ...

  4. 使用IntersectionObserver制作滚动动画以及其他记录

    前言 最近在重做公司项目的主页,正好新来了个UI,整个都重新设计了一下,动画还挺多的.我之前没有怎么玩过这些,踩了挺多坑,最后找到了目前而言最合适的方法,现在做一个记录. 需要把原来的主页从项目中抽出 ...

  5. 推荐几款制作网页滚动动画的 JavaScript 库

    这里集合了几款很棒的制作网页滚动动画的 JavaScript 库和插件.它们中,有的可以帮助你在页面滚动的时候添加动感的元素动画,有的则是实现目前非常流行的全屏页面切换动画.相信借助这些插件,你也可以 ...

  6. ScrollMe – 在网页中加入各种滚动动画效果

    ScrollMe 是一款 jQuery 插件,用于给网页添加简单的滚动效果.当你向下滚动页面的时候,ScrollMe 可以缩放,旋转和平移页面上的元素.它易于设置,不需要任何自定义的 JavaScri ...

  7. 微信小程序滚动动画,点击事件及评分星星制作!

    前言 小程序上线刷爆了朋友圈,但是最近渐渐消沉了,很少有动静!最近公司项目需要,体验了一下微信小程序,制作了几个功能,布局感觉很简单,但是交互和动画等写起来确实很费劲,主要是因为他不能操作DOM,只能 ...

  8. 超详细Vue实现导航栏绑定内容锚点+滚动动画+vue-router(hash模式可用)

    超详细Vue实现导航栏绑定内容锚点+滚动动画+vue-router(hash模式可用) 转载自:https://www.jianshu.com/p/2ad8c8b5bf75 亲测有效~ <tem ...

  9. 利用CSS实现带相同间隔地无缝滚动动画

    说明:因为在移动上主要利用CSS来做动画,所以没有考虑其他浏览器的兼容性,只有-webkit这个前缀,如果需要其他浏览器,请自行补齐. 首先解释一下什么是无缝滚动动画, 例如下面的例子 See the ...

随机推荐

  1. 《剑指offer》第七题(重要!重建二叉树)

    文件一:main.cpp // 面试题:重建二叉树 // 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输 // 入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历 ...

  2. 证明: 2^0+2^1+2^2+2^3+.+2^n-1=(2^n)-1

    S=2^0+2^1+2^2+2^3+.+2^(n-1)2S=2^1+2^2+2^3+...+2^(n-1)+2^n两式相减,2S-S=2^n-2^0S=2^(n)-1

  3. 推荐一款基于Angular实现的企业级中后台前端/设计解决方案脚手架

    ng-alain 是一个企业级中后台前端/设计解决方案脚手架,我们秉承 Ant Design 的设计价值观,目标也非常简单,希望在Angular上面开发企业后台更简单.更快速.随着『设计者』的不断反馈 ...

  4. C# 中的浅表副本与深表副本

    public class Student { public int age; public Student(int age) { this.age = age; } } public class Gr ...

  5. YII之yiic创建YII应用

    yii提供了强大的命令行工具来快速的创建相关组件和应用.下面就来讲解用yiic工具快速创建yii应用我的web目录在 d:\www下 yiiframework在 D:\www\yii\framewor ...

  6. WPF中的Style(风格,样式)

    作者: 周银辉  来源: 博客园  发布时间: 2009-02-27 15:04  阅读: 6698 次  推荐: 0   原文链接   [收藏]   在WPF中我们可以使用Style来设置控件的某些 ...

  7. 20170706pptVBA演示文稿批量删除图片

    Public Sub StartRecursionFolder() Dim Pre As Presentation Dim FolderPath As String Dim pp As String ...

  8. FastDFS install

    Version: os: centos7 x64 FastDFS: 5.05 libfastcommon: latest 1. dwonload libfastcommon https://githu ...

  9. sort中的比较函数compare

    sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为普通成员函数,否则会报错: invalid use of non-static member function 因为:非静态成 ...

  10. Animation鱼眼效果

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    < ...