现在很多产品展示的网页在滚动的时候会触发动画,如果用js去写的话需要监听scrolltop,会很繁琐,而scrollreveal.js可以完美地实现这样的效果.

js的使用方法很简单,直接引入就可以了,但是vue中该如何使用呢?

首先,安装用npm插件:

npm install scrollreveal

引入到组件中:

import scrollReveal from 'scrollreveal';

然后在data中注册,这点官网文档没提及,所以会导致初始化不成功,

data () {
  return {
    scrollReveal: scrollReveal()
  }
},

最后,自定义类名。

mounted() {
  this.scrollReveal.reveal('.reveal-top', {
    // 动画的时长
    duration: 2000,
    // 延迟时间
    delay: 500,
    // 动画开始的位置,'bottom', 'left', 'top', 'right'
    origin: 'top',
    // 回滚的时候是否再次触发动画
    reset: false,
    // 在移动端是否使用动画
    mobile: false,
    // 滚动的距离,单位可以用%,rem等
    distance: '200px',
    // 其他可用的动画效果
    opacity: 0.001,
    easing: 'linear',
    scale: 0.9,
  });
},

将自定义的类名添加到html代码中

<ul>
    <li class="reveal-top">
        <img src="http://g.hiphotos.baidu.com/image/pic/item/37d3d539b6003af37401eb21392ac65c1038b633.jpg" class="img">
    </li>
    <li class="reveal-top">
        <img src="http://g.hiphotos.baidu.com/image/pic/item/37d3d539b6003af37401eb21392ac65c1038b633.jpg" class="img">
    </li>
</ul>

就可以看到效果了!

Logo

前往低代码交流专区

更多推荐