javascript - 如何处理全屏滚动和视差滚动结合的效果?请提供思路,多谢!
大家讲道理
大家讲道理 2017-04-11 09:54:56
[JavaScript讨论组]

最近的项目主页想要实现这样的效果

http://mo004_376.mo4.line2.js...(请在chrome中打开)

观察后,发现是全屏滚动和视差滚动相结合。

  1. 单独的全屏滚动,可以用固定浏览器视窗,调整容器的 transfrom translate 属性,加上 transition 来实现。

  2. 单独的该网站的视差滚动可以通过 background-attachment: fixed; 来固定背景图的位置在视窗中央。


但是两个效果相结合就会出现一个问题,背景图的定位是相对于父容器了,不是浏览器视窗。滚动后背景图就会跟着容器跑了。
最后我观察到该网站的效果是通过不断赋值translate,和背景图的background-position 强行让背景图定位在浏览器视窗中央 来实现的。
虽然知道原理了但是还是不知道该怎么去实现。
尝试过用JQuery的animate,但是不可以用在translate上。
用在scrollTop上效果不好,会很卡
各位有没有什么好的实现思路嘛?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
PHP中文网

background-position: center 1842px;

后面的1842px是前面两个p的总高度,他是让背景图一直center,后面的像素跟着高度变吧。

大家讲道理

谢邀,这种demo太多了,比如我随手就找了一个

http://www.jq22.com/demo/jque...

整了个demo
https://jsfiddle.net/m7eegdj2/

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

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