javascript - 又拍云主页的线段特效是怎么做出来的?
高洛峰
高洛峰 2017-04-11 09:07:47
[JavaScript讨论组]

https://www.upyun.com/index.html
这个页面打开之后从banner上会有一条线往下画,你滚动条滚动到什么位置,那根线就会缓慢画到相应的位置,这个是怎么实现的啊?我看了源代码看不懂。。。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
巴扎黑

谢邀。

    function() {
        function n() {
            var n = ((0,
            r.createNew)(".banner-slides"),
            (0,
            i.createNew)(".coverage .animated-line", 1, 1))
              , e = (0,
            i.createNew)(".speed .animated-line", 1, 2)
              , o = (0,
            i.createNew)(".monitor .animated-line", 1, 3)
              , a = (0,
            i.createNew)(".safety .animated-line", 1, 4);
            window.addEventListener("scroll", function() {
                t(n, e, o, a)
            })
        }
        function t(n, t, e, r) {
            window.pageYOffset >= 150 && !n.onSection ? (n.animationGo(),
            n.onSection = !0) : window.pageYOffset < 150 && n.onSection && (n.animationBack(),
            n.onSection = !1),
            window.pageYOffset >= 750 && !t.onSection ? (t.animationGo(),
            t.onSection = !0) : window.pageYOffset < 750 && t.onSection && (t.animationBack(),
            t.onSection = !1),
            window.pageYOffset >= 1540 && !e.onSection ? (e.animationGo(),
            e.onSection = !0) : window.pageYOffset < 1540 && e.onSection && (e.animationBack(),
            e.onSection = !1),
            window.pageYOffset >= 2200 && !r.onSection ? (r.animationGo(),
            r.onSection = !0) : window.pageYOffset < 2200 && r.onSection && (r.animationBack(),
            r.onSection = !1)
        }
        document.addEventListener("DOMContentLoaded", n)
    }()

监听窗口的滚动事件,然后触发svg动画,代码大致是上面这段。自己学习一下吧。

阿神

简单思路就是将 svg 的 path 拆分独立的动画部分,利用 svg 的 stroke-dasharray 和 stroke-dashoffset 属性搭配 transition,来实现线条动态绘制效果。然后根据在页面上监听的滚动位置,启动对应的动画。

PHPz

谢邀,fullpage这个里面有每屏滚动的时候触发一个事件,还有这个事件是否重复触发。你可以去看看。然后那个线。你可以用图片啊。用什么的代替

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号