简单的背景视差滚动 与 动画结合
2015-07-01 14:09
519 查看
以下案例主要是结合现在比较流行的视差滚动以及滑动触发动画事件来实现。
首先,实现基础的html布局
<section class="article section1" id="article1"> <div class="title" id="title1">这是存放标题的地方</div> <div class="content" id="content1">这是存放neiront的地方这是存放neiront的地方</div> </section> <section class="article section2" id="article1"> <div class="title" id="title2">这是存放标题的地方</div> <div class="content" id="content2">这是存放neiront的地方这是存放neiront的地方</div> </section> <section class="article section3" id="article1"> <div class="title" id="title3">这是存放标题的地方</div> <div class="content" id="content3">这是存放neiront的地方这是存放neiront的地方</div> </section>
接下来,是样式的设置
<style> * { margin:0; padding:0; } .article { width:1000px;padding:280px;background-repeat:no-repeat; background-attachment:fixed; margin:0 auto; background-position:center center;} .section1 { background-image:url( http://www.alloyteam.com/wp-content/uploads/2014/01/section01.jpg); } .section2 { background-image:url( http://www.alloyteam.com/wp-content/uploads/2014/01/section02.jpg); } .section3 { background-image: url( http://www.alloyteam.com/wp-content/uploads/2014/01/section03.jpg); } .title {position:relative; top:-300px; font-size:18px; font-weight:700; color:red; height:50px; opacity:0;} .content {position:relative; top:200px; left:1200px; font-size:24px; font-weight:700; color:orange; opacity:0; } .title-anim{ transition:all 3s; -webkit-transition:all 3s; top:100px; opacity:1;} .content-anim{ transition:all 3s; -webkit-transition:all 3s; left:100px; opacity:1;} </style>
最后,是js的应用
<script> var articleHeight = document.getElementById("article1").clientHeight; var title1 = document.getElementById("title1"); title2 = document.getElementById("title2"); title3 = document.getElementById("title3"); var content1 = document.getElementById("content1"); content2 = document.getElementById("content2"); content3 = document.getElementById("content3"); window.addEventListener("scroll",scrollHandler); function scrollHandler(e){ var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; if(scrollTop > 0 && scrollTop < articleHeight){ title1.classList.add("title-anim"); content1.classList.add("content-anim"); }else if(scrollTop>=articleHeight && scrollTop<articleHeight*2){ title2.classList.add("title-anim"); content2.classList.add("content-anim"); }else{ title3.classList.add("title-anim"); content3.classList.add("content-anim"); } } </script>
利用以上代码,就可以轻松的实现简单的背景视差滚动与动画效果的结合实现。
相关文章推荐
- Android 区别普通Touch方法和Scroll
- nginx日志分析工具
- SAT数学满分备考策略
- 初学Spark——关于安装Spark
- HBase学习笔记
- java与IOS之间的RSA加解密
- onNewIntent调用时机
- 数学归纳法
- 解决listview的item点击无反应问题
- divide and conquer 二分查找
- Android 使用DexClassLoader要执行其他apk方法
- IE设置cookie问题。
- comparator and comparable
- “GPT分区方案”与“MBR分区方案”的相互比较
- ansible 自动ssh
- iOS绘图
- jQuery的.bind()、.live()和.delegate()之间区别
- 3306端口被占用
- JPA注解
- mysql备份出错 mysqldump: Got error: 2002..