wwwwwllllk 发表于 2023-2-9 18:57:10

想实现一个轮播功能

想实现一个轮播的功能,但是轮播的内容是通过轮训接口获取的。就是我调用接口生成新的内容以后,如何确保之前的内容轮播完成以后再更新。

李恒道 发表于 2023-2-9 19:27:58

具体是卡在哪了
如果纠结是否切换到最后一个可以使用监听
还有一个比较有意思的api
https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API
但是兼容性一般

wwwwwllllk 发表于 2023-2-9 19:52:29

李恒道 发表于 2023-2-9 19:27
具体是卡在哪了
如果纠结是否切换到最后一个可以使用监听
还有一个比较有意思的api


就是不知道如确保轮播完成上一个数组的内容再继续轮训新接口返回的数据

李恒道 发表于 2023-2-9 20:29:43

wwwwwllllk 发表于 2023-2-9 19:52
就是不知道如确保轮播完成上一个数组的内容再继续轮训新接口返回的数据 ...

按道理用框架不是按index进行渲染吗
判断是最后一个再请求下一个数据呗

cxxjackie 发表于 2023-2-9 23:38:39

用Promise?.then可以被多次调用且保证完成,就是不知道你这个轮播是自己实现的还是框架,描述太模糊了。

wwwwwllllk 发表于 2023-2-10 23:01:00

cxxjackie 发表于 2023-2-9 23:38
用Promise?.then可以被多次调用且保证完成,就是不知道你这个轮播是自己实现的还是框架,描述太模糊了。 ...

我本来是用swiper的,发现它本身这一块好像也有问题,就是上一个接口和现在接口返回的数据完全不一样,我直接更新数据以后它就渲染新的轮播数据。不管之前有没有轮播完成。

但是假如第二次的数据比第一次的数据多了几个,比如第一次轮播,第二次的数据是可能数据更新以后 ,之前假如轮播到2, 一次就是3,4,5

cxxjackie 发表于 2023-2-11 21:13:36

wwwwwllllk 发表于 2023-2-10 23:01
我本来是用swiper的,发现它本身这一块好像也有问题,就是上一个接口和现在接口返回的数据完全不一样,我 ...

有官方文档啊:https://www.swiper.com.cn/api/
加事件监听就行了,reachEnd到达最后一个,reachBeginning回到初始时,可以用Promise封装一下,然后reachBeginning时更新。

wwwwwllllk 发表于 2023-2-11 23:24:10

cxxjackie 发表于 2023-2-11 21:13
有官方文档啊:https://www.swiper.com.cn/api/
加事件监听就行了,reachEnd到达最后一个,reachBeginnin ...

感谢大佬!!!!!!
页: [1]
查看完整版本: 想实现一个轮播功能