<script src="https://unpkg.com/scrollreveal"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/scrollReveal.js/4.0.9/scrollreveal.min.js"></script>
以 JSON 值对的形式,为实例和元素指定选项,设置丰富的显示效果;涉及到的时间单位是毫秒 ms
区分实例配置和元素配置
可以为实例统一指定,再单独为特定元素增加或修改
属性 | 说明 |
---|---|
distance | 距离 |
delay | 延迟显示时间 |
duration | 持续时间 |
origin | 统一指定显示来向:top | right | bottom | left |
reset | 每次触发都显示效果 |
属性 | 说明 |
---|---|
delay | 延迟显示时间 |
interval | 多个元素时,显示的间隔 |
origin | 单独指定显示来向:top | right | bottom | left |
const sr = ScrollReveal({ distance: '40px', duration: 2000, delay: 400, reset: true })
可以指定/追加新属性
sr.reveal('.banner-item', { interval: 100 }) sr.reveal('.i0', { origin: 'top' })
也可以应用到多个类;多个类以逗号,区分
sr.reveal('.i4, .breath-item, .info-item', { origin: 'bottom', interval: 100 })
const revealOption = { delay: 300, distance: "50px", duration: 500, easing: "ease-in-out", origin: "bottom", }; ScrollReveal().reveal(".swiper-info", { ...revealOption, interval: 350 });
<div class="data-item"> <input type="text" class="num" value="234" data-val="234"> </div> <div class="data-item"> <input type="text" class="num" value="168" data-val="168"> </div>
ScrollReveal().reveal(".data-item", { afterReveal: (el) => { let ipt = el.querySelector('.num'); console.log('ipt', ipt); anime({ targets: ipt, value: [0, ipt.value], duration: 2000, round: 1, easing: 'easeInExpo', }) } });
.team-item:hover { transform: translateY(-10px) scale(1.02) !important; // }
ScrollReveal().reveal('.eva-bar', { scale: 0.5, opacity: 0, reset: true, interval: 200 });