美文网首页
JS触发滚动

JS触发滚动

作者: 寒枫Alex | 来源:发表于2017-05-07 05:16 被阅读0次

滚动的话, document级别的用window.scrollTo(), element内部的, 直接设置element.scrollTop就行, 这些都是直接过去的.

滚动动画:

            ScrollTo(offsetTop, duration) {
                let startingY = this.$refs.asv.scrollTop;
                let diff = offsetTop - startingY;
                let start;
                const self = this;
                const easing = BezierEasing(0.61, 0.29, 0.3, 0.97);
                window.requestAnimationFrame(function step(timestamp) {
                    if (!start) start = timestamp;
                    var time = timestamp - start;
                    var percent = Math.min(time / duration, 1);
                    self.$refs.asv.scrollTop = startingY + diff * easing(percent);
                    if (time < duration) {
                        window.requestAnimationFrame(step);
                    }
                })
            }

通过贝塞尔曲线来达到缓入缓出的效果, 实现贝塞尔曲线的JS库BezierEasing(https://github.com/gre/bezier-easing)..) 通过AnimationFrame来达到完美的动画渲染效果.

相关文章

  • JS触发滚动

    滚动的话, document级别的用window.scrollTo(), element内部的, 直接设置elem...

  • HTML 常用确难搜到的文档

    1.滚动到指定位置触发时间 JS建立缓存

  • javascript之scroll事件(一)

    scroll 翻译过来就是滚动。在js中称为滚动事件,当用户滚动到指定位置或元素时会触发scroll事件。 scr...

  • 阻止鼠标滚动穿透事件

    在弹窗内滚动鼠标会触发页面的滚动条滚动,这就是鼠标滚动穿透事件 1.js解决 2,窗口加载完成时,给body元素添...

  • Vue点击按钮回到顶部

    1.在组件里进行按钮的样式设置 2.监听当前页面滚动位置 3.触发滚动事件 tip:main.js中设置,路由跳转...

  • jquery 滚轮插件 示例 - 整屏滚动

    在上一篇张写了jquery 滚轮插件 jquery.mousewheel.js,可以根据滚轮上下滚动的事件,触发控...

  • 懒加载

    jquery.lazyload.js 如何使用 设置占位图片 设置临界点 设置事件触发加载 使用特效 设置滚动容器...

  • vue 中使用wow.js

    wow.js可以在页面向下滚动时加载css动画,并且可以触发animate.css的动画效果。 wow.jsGit...

  • 无缝向上、向左滚动--间歇性滚动

    无缝滚动原生JS 版 js 部分 无缝滚动 jquery 版 无缝向左滚动 js 部分 间歇性滚动 与 上面无缝滚...

  • js控制scroll

    js滚动 取消滚动

网友评论

      本文标题:JS触发滚动

      本文链接:https://www.haomeiwen.com/subject/effutxtx.html