js实现在可视区内,文字图片动画效果

利用wow.min.js, animate.css 用户滚动页面的时候展示 CSS 动画效果。
官网:Animate中文网 – Animate安装、Animate使用、Animate下载

下载地址:http://www.bootcdn.cn/wow/
案例演示:animate.css动画演示_dowebok

1、加入animate.css

<link href="http://www.bbsxiaomi.com/case/css/animate.min.css" rel="stylesheet">或

<link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css" rel="stylesheet">

2、加入wow.js 。(无需引用jQuery)

<script src="http://www.bbsxiaomi.com/js/wow.min.js"></script>
注意new WOW().init();中的WOW要大写,否则就没效果了。

3、元素中加入class

<div class="wow animated tada">tada</div>

4、wow.js 使用了 querySelectorAll 方法,IE 低版本会报错。为了达到更好的兼容,最好加一个浏览器及版本判断。

<script src="http://www.bbsxiaomi.com/js/wow.min.js"></script>

<script>

if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){

    new WOW().init();

};
</script>

5、可以加入 data-wow-duration(动画持续时间)和 data-wow-delay(动画延迟时间)属性,如.(在css下方js上方写需要动画的元素(必须设置为块状或者行内块状!必须设置为块状或者行内块状!必须设置为块状或者行内块状!),并添加class类名。)

<div class="wow slideInLeft" data-wow-duration="2s" data-wow-delay="5s" data-wow-offset="10"  data-wow-iteration="10"></div>
类名前面的wow是每一个带动画的元素都要加的,slideInLeft就是说明动画样式。后面的data-wow-duration(动画持续时间)、data-wow-delay(动画延迟时间)、data-wow-offset(元素的位置露出后距离底部多少像素执行)和data-wow-iteration(动画执行次数)这四个属性可选可不选。

附上animated的各个动画class属性
fade: {
        title: '淡入淡出',
        fadeIn: '淡入',
        fadeInDown: '向下淡入',
        fadeInDownBig: '向下快速淡入',
        fadeInLeft: '向右淡入',
        fadeInLeftBig: '向右快速淡入',
        fadeInRight: '向左淡入',
        fadeInRightBig: '向左快速淡入',
        fadeInUp: '向上淡入',
        fadeInUpBig: '向上快速淡入',
        fadeOut: '淡出',
        fadeOutDown: '向下淡出',
        fadeOutDownBig: '向下快速淡出',
        fadeOutLeft: '向左淡出',
        fadeOutLeftBig: '向左快速淡出',
        adeOutRight: '向右淡出',
        fadeOutRightBig: '向右快速淡出',
        fadeOutUp: '向上淡出',
        fadeOutUpBig: '向上快速淡出'
      },
      bounce: {
        title: '弹跳类',
        bounceIn: '弹跳进入',
        bounceInDown: '向下弹跳进入',
        bounceInLeft: '向右弹跳进入',
        bounceInRight: '向左弹跳进入',
        bounceInUp: '向上弹跳进入',
        bounceOut: '弹跳退出',
        bounceOutDown: '向下弹跳退出',
        bounceOutLeft: '向左弹跳退出',
        bounceOutRight: '向右弹跳退出',
        bounceOutUp: '向上弹跳退出'
      },
      zoom: {
        title: '缩放类',
        zoomIn: '放大进入',
        zoomInDown: '向下放大进入',
        zoomInLeft: '向右放大进入',
        zoomInRight: '向左放大进入',
        zoomInUp: '向上放大进入',
        zoomOut: '缩小退出',
        zoomOutDown: '向下缩小退出',
        zoomOutLeft: '向左缩小退出',
        zoomOutRight: '向右缩小退出',
        zoomOutUp: '向上缩小退出'
      },
      rotate: {
        title: '旋转类',
        rotateIn: '顺时针旋转进入',
        rotateInDownLeft: '从左往下旋入',
        rotateInDownRight: '从右往下旋入',
        rotateInUpLeft: '从左往上旋入',
        rotateInUpRight: '从右往上旋入',
        rotateOut: '顺时针旋转退出',
        rotateOutDownLeft: '向左下旋出',
        rotateOutDownRight: '向右下旋出',
        rotateOutUpLeft: '向左上旋出',
        rotateOutUpRight: '向右上旋出'
      },
      flip: {
        title: '翻转类',
        flipInX: '水平翻转进入',
        flipInY: '垂直翻转进入',
        flipOutX: '水平翻转退出',
        flipOutY: '垂直翻转退出'
      },
      strong: {
        title: '强调类',
        bounce: '弹跳',
        flash: '闪烁',
        pulse: '脉冲',
        rubberBand: '橡皮筋',
        shake: '左右弱晃动',
        swing: '上下摆动',
        tada: '缩放摆动',
        wobble: '左右强晃动',
        jello: '拉伸抖动'
}

实例:以下是实现图片懒及动画效果

	
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link href="js/test/animate.min.css" rel="stylesheet">
	<script src="js/jquery.min.js"></script>
	<script src="js/test//wow.min.js"></script>
	<script src="http://afarkas.github.io/lazysizes/lazysizes.min.js"></script>
<script>
if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){

    new WOW().init();

};

</script>
  <title>懒加载及动画效果</title>
  
</head>
<body>
	<div style="height: 100rem"></div>

	<div class="img-wrap">
    <img  class="lazyload wow bounceInDown"  data-wow-duration="1s" data-src="imgsrc"    /><br>
	
<img  class="lazyload wow fadeInUpBig swing" data-wow-offset="50" data-src="imgsrc2"    />
      
  </div>    
    

	
</body>
</html>

加载前

 加载后

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Cesium是一个用于创建三维地球和空间场景的JavaScript库,它提供了许多内置的动画效果和工具,可以实现各种类型的动画效果。以下是一些实现动画效果的方法: 1. 通过改变实体属性来实现动画效果,如位置、旋转、大小等。可以使用Cesium的Tween库或自己编写动画函数来控制实体的属性值,从而实现动画效果。 2. 使用Cesium的时间线,将动画效果分解为一系列关键帧,然后在时间线上逐帧展示动画效果。可以使用Cesium的Timeline控件来控制动画的播放。 3. 使用Cesium的动画路径插值功能,将动画效果定义为一个路径,在路径上逐步移动实体。可以使用Cesium的SampledPositionProperty类来定义路径,并使用Cesium的PathVisualizer类来展示路径上的实体移动效果。 4. 使用Cesium的粒子系统,通过控制粒子的位置、大小、颜色等属性来创建各种复杂的动画效果,如火花、雨滴、爆炸等。 总之,Cesium提供了多种实现动画效果的方法,开发者可以根据具体需求选择合适的方法来实现动画效果。 ### 回答2: Cesium是一个开源的JavaScript库,可用于在浏览器中创建高性能的3D地球和地理空间可视化应用程序。要实现动画效果,可以通过以下几种方法: 1. 实时变换:通过改变Cesium实体的位置、方向和大小来创建动画效果。可以使用Cesium的实体(Entity)对象来表示要进行动画的物体,然后使用Tween.js动画库来实时调整实体的属性,实现平滑的动画效果。 2. 时间轴动画:Cesium提供了时间轴(Timeline)组件,可以控制时间的流逝,从而创建动画效果。可以使用Timeline组件来设置动画的开始时间、结束时间和持续时间,并在每个时间点上更新实体的属性,以达到想要的动画效果。 3. 插值动画:Cesium提供了插值器(Interpolator)对象,可以在两个属性之间插值,从而创建平滑的动画效果。可以使用插值器对象来设置属性的起始值和目标值,然后在每一帧上通过插值器对象计算当前值,以实现属性值的平滑过渡。 4. 图片序列动画:Cesium支持加载图片序列,可以将一系列图片按照一定的帧率进行播放,从而创建动画效果。可以使用Cesium的图片序列(ImageSequence)对象来加载图片序列,然后在每一帧上更新实体的贴图,以实现动画效果。 通过以上方法,可以利用Cesium强大的功能和灵活的API,实现各种动画效果,使得地球和地理空间可视化应用程序更加生动和具有交互性。 ### 回答3: Cesium是一个开源的地理信息系统软件开发工具包,它可以在网页浏览器中呈现地球、卫星图像、地理位置等数据。为了实现动画效果,可以使用Cesium提供的动画功能和API。 首先,可以使用Cesium提供的Clock对象来控制时间。Clock对象中包含了当前时间、时钟的状态和一些控制时间的方法。通过设置时钟的启动时间、速度和当前时间,可以实现动态的时间效果。 其次,Cesium提供了多种插值算法和缓动函数,可以在属性之间创建平滑的过渡动画效果。例如,可以通过设置动画的起始值和结束值,根据时间的流逝逐渐过渡到目标值,从而实现平滑的动画效果。 此外,Cesium还提供了一些内置动画效果,如飞行模拟动画、地形浏览动画等。这些内置动画效果可以直接调用,而无需自己编写复杂的代码。 最后,Cesium还支持与其他动画库和框架进行集成。例如,可以将Cesium与GreenSock Animation Platform (GSAP) 结合使用,以实现更复杂和丰富的动画效果。 总之,要实现动画效果,可以利用Cesium提供的时钟、插值算法和缓动函数,自定义动画属性的过渡效果,或直接调用内置的动画效果。同时,还可以结合其他动画库来实现更高级的动画效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值