CSS3动画如何实现滑动到当屏时才播放

更新时间:2019-09-04 14:40:18 来源:青锋建站 作者:青锋网站建设
        声明在阅读这篇文章之前,青锋建站已经给大家开发好一套用于控制animate.css动画库万能调用代码,使用非常方便,仅仅需要添加两个CSS类就可以实现。当然本篇所讲到的也可以实现,只思路稍复杂一些,适合懂一些JS基础的前端开发人员使用。要控制CSS3动画,实现滑动到当屏时才进行播放控制,一般需要结合JS或JQuery来实现更加复杂的控制。下面青锋建站给大家作出实现方法思路和具体的控制代码。

CSS3动画滑动到当屏播放的实现思路分析

        实现的方法和思路是当滑动到当前屏幕时需要控制HTML元素的可见性和可见时触发动画效果。控制元素的可见性可以使用CSS中的visibility:hidden/visible;来实现。当然也许会有人提出使用display:none/block来实现,但是这里不可以使用,原因是:display会使元素失去高度和宽度的属性,不方便使用JS来控制高度的变化。
         控制CSS3动画滑动的当屏时控制可以使用动画元素的外部元素的onmouseover事件或scroll事件来触发,并且增加css样式。Css样式包括:元素可见、绑定动画。使用onmouseover来触发大家很容易理解,但是控制的精细程度不如scroll事件。使用scroll事件触发的原理是当然需要动画效果的元素到达屏幕的中间是触发动画操作,当然这个位置可以调节,根据动画元素的高度来决定,下面有具体的实例。下面是具体的控制CSS3动画效果的代码(我们使用scroll事件来控制):

Javascript控制CSS3动画当屏播放代码:

var animationTop1=$(".div1").offset().top;
var animationTop2=$(".div2").offset().top;
var animationTop3=$(".div3").offset().top;
var animationTop4=$(".div4").offset().top;
var animationTop5=$(".div5").offset().top;
$(window).scroll(function(){
var curtop=$(window).scrollTop()+$(window).height()*0.6;
if(curtop>animationTop1&&curtop<animationTop2)
{
$(".div11").css({"visibility":"visible","-webkit-animation":"fadeInUp 1s","animation":"fadeInUp 1s"});
$(".div12").css({"visibility":"visible","-webkit-animation":"fadeInUp 1.5s","animation":"fadeInUp 1.5s"});
$(".div13").css({"visibility":"visible","-webkit-animation":"fadeInUp 2s","animation":"fadeInUp 2s"});
$(".div14").css({"visibility":"visible","-webkit-animation":"fadeInUp 2.5s","animation":"fadeInUp 2.5s"});
}
if(curtop>animationTop2&&curtop<animationTop3)
{
$(".div2").css({"visibility":"visible","-webkit-animation":"bounceInRight 1s","animation":"bounceInRight 2s"});
}
if(curtop>animationTop3&&curtop<animationTop4)
{
$(".div3").css({"visibility":"visible","-webkit-animation":"fadeInUp 2s","animation":"fadeInUp 2s"});
}
 
if(curtop>animationTop4&&curtop<animationTop5)
{
$(".div4").css({"visibility":"visible","-webkit-animation":"bounceIn 2s","animation":"bounceIn 2s"});
}
});

JQ控制动画代码使用详解:

1、$(window).height()*0.6这里指的是当动画元素到达屏幕的0.6倍高度是触发。可以改为其他数值。
2、var animationTop1=$(".div1").offset().top;这里的.div1是动画的CSS类名。
3、({"visibility":"visible","-webkit-animation":"fadeInUp 1s","animation":"fadeInUp 1s"});这里fadeInUp为CSS3动画关键帧的名称。
4、控制代码是在JQuery基础上写的,使用前需要在页面头部加载jquery.js,这段代码需要放在网页的最底部。
  以上就是青锋建站给大家分享的如何实现DIV滑动到当屏时才播放,更多网站设计技巧学习,请访问青锋建站http://www.sjzphp.com。青锋建站,提供专业的高品质网站制作服务,包括网站建设,SEO,网络营销,PHP开发,网站建设知名品牌,全国接单,为企业构建强有力的营销平台。

转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/animationjq.html

电话 15632335515 | 邮箱 943703539@qq.com | QQ 943703539 | 微信 qingfengjianzhan

Copyright © 2016-2026 青锋建站 版权所有