<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
});