Swiper中文论坛
标题:
可执行多种动画、可在loop模式下使用的swiper.animate.js
[打印本页]
作者:
bbbbbbb
时间:
2020-1-20 13:35
标题:
可执行多种动画、可在loop模式下使用的swiper.animate.js
本帖最后由 bbbbbbb 于 2020-1-20 17:26 编辑
github :
传送门
demo :
传送门
1.引入模块
import {swiperAnimate,swiperAnimateCache} from 'swiper.animate.js'
或者
let swiperAnimate=window.swiperAnimate;
let swiperAnimateCache=window.swiperAnimateCache;
2.初始化
var mySwiper = new Swiper ('.swiper-container', {
on:{
init: function(){
swiperAnimateCache(this); //隐藏动画元素
swiperAnimate(this); //初始化完成开始动画
},
slideChange: function(){
swiperAnimate(this); //每个slide切换结束时也运行当前slide动画
}
}
})
3.在需要运动的元素上面增加类名 ani ,swiper.animate需要指定几个参数:
value: 切换效果,例如 fadeInUp
delay: 动画延迟时间,例如 0.3s
loop: 动画循环次数,例如 1 (0为无限次)
duration: 动画持续时间,例如 0.5s
<div class="swiper-slide">
<p class="ani"
swiper-animate-effect='[{"value":"fadeInRight","duration":1,"loop":1,"delay":0},{"value":"fadeInLeft","duration":1,"loop":2,"delay":0}]'>
slider1</p>
</div>
// 动态设置动画
let
ani = [{
"value": "fadeInRight",
"duration": 1,
"loop": 1,
"delay": 0
}, {
"value": "fadeInLeft",
"duration": 1,
"loop": 1,
"delay": 0
}, {
"value": "fadeIn",
"duration": 1,
"loop": 1,
"delay": 0
}, ];
for (
let
i = 0; i < 3; i++) {
let
div = document.createElement('div');
let
p = document.createElement('p');
p.innerText = '这是一个新的Slide';
p.className = 'ani';
p.setAttribute('swiper-animate-effect', JSON.stringify(ani));
div.appendChild(p);
div.className = 'swiper-slide';
mySwiper.addSlide(1, div);
mySwiper.updateSlides();
}
作者:
Airsola513
时间:
2020-3-8 12:02
666 ,这个看上去很赞那
作者:
calvin
时间:
2020-4-16 13:51
这个效果很多人都想要,不知道调试起来会不会麻烦呢
作者:
bbbbbbb
时间:
2020-5-26 11:30
Airsola513 发表于 2020-3-8 12:02
666 ,这个看上去很赞那
谢谢
作者:
bbbbbbb
时间:
2020-5-26 11:32
calvin 发表于 2020-4-16 13:51
这个效果很多人都想要,不知道调试起来会不会麻烦呢
代码没有压缩 ,可根据自己需求修改
作者:
Qinver
时间:
2020-12-13 21:27
可以的!
欢迎光临 Swiper中文论坛 (http://bbs.swiper.com.cn/)
Powered by Discuz! X3.2