滚动条触发CSS3动画

近几年web前端的,关于鼠标滑动到当前页面从而触发动画效果十分的火热,今天我们就来学习下这一效果。 

一、首先,我们先来了解一下这一效果实现的原理。

1.一个网页离不开基本的布局,所以首先就是要先用html将所需要的结构布局出来(长页风格)。                                                                           2.另外,这一效果的实现主要是结合css3的自定义动画(animation)来实现的。所以,这一阶段,就需要将你所想要实现的动画效果用css3样式实现出来。                                                                                                                                                                                                                           3.最后,这也是最重要的一步,就是利用javascript实现对相对应页面动画的触发。 

二、接下来我们就来正式的学习一下这一效果。

接下来我们需要在我们的html界面中导入所需要的文件。(moment.js,jquery.min.js,animate.css)。

三、在js中定义我们所需要的变量和定义滚动的时候添加css的方法。

定义所需的变量

var $window = $(window),

win_height_padded = $window.height() * 1.1;

监听滚动事件

$window.on('scroll', revealOnScroll);

定义屏幕滚动的时候给需要执行动画的div执行动画效果

function revealOnScroll() {     

var scrolled = $window.scrollTop();

$(".revealOnScroll:not(.animated)").each(function() { var $this = $(this), offsetTop = $this.offset().top; if (scrolled + win_height_padded > offsetTop) { if ($this.data('timeout')) { window.setTimeout(function() { $this.addClass('animated ' + $this.data('animation')); }, parseInt($this.data('timeout'), 10)); } else { $this.addClass('animated ' + $this.data('animation')); } } }) }

四、那么我们开始了,首先是写好HTML标签,revealOnScroll类必须家在需要在滚动时触发的元素上面。

<div data-animation="bounceIn" data-timeout="400" class="revealOnScroll" style="height: 500px;background: red;">...some content here...</div>

是不是很容易就完成了~ 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 嗯哼嗯哼蹦擦擦~~~ 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 ...
    philiha阅读 5,060评论 0 6
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,273评论 4 61
  • 1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi阅读 5,217评论 3 23
  • 听力对比: 1.里面的单词我都见过,可是听不出来 我都听力,对它的音是不清楚的,重新听力,然后对比。 2.说的还行...
    沐星之星星阅读 132评论 0 0
  • 1000天蜕变之旅——day 212 2018.10.1 星期一 晴 站桩养正气,健康靠自己。感谢马老无私大爱,让...
    爱之小云阅读 136评论 0 0