做转盘抽奖时有个需求,点击抽奖按钮时发送ajax,如果服务器延迟比较大时,请求的数据不能及时返回,那么就会出现点击抽奖按钮后不能旋转,所以有什么方法可以在点击按钮之后,获取数据之前,转盘开始旋转,等获取到数据之后根据获取的数据停到相应的位置。谢谢,大佬们
做转盘抽奖时有个需求,点击抽奖按钮时发送ajax,如果服务器延迟比较大时,请求的数据不能及时返回,那么就会出现点击抽奖按钮后不能旋转,所以有什么方法可以在点击按钮之后,获取数据之前,转盘开始旋转,等获取到数据之后根据获取的数据停到相应的位置。谢谢,大佬们
如果服务器延迟比较大时,请求的数据不能及时返回,那么就会出现点击抽奖按钮后不能旋转
为什么不能转。ajax不是异步的么?
...//转
$.ajax(...,success:()=>{
...
...//停
})
首先,你写转盘转动的时候,就应该考虑它的停止以及停止的位置。
然后,在点击开始--获取数据的这段时间,用定时器让它自己转。
最后,获取到数据后,设置好停止位置了再让它多转几圈,以便可以停到指定位置 (避免结果数据已经被转过去了)。
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
1 回答3.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
我的思路是点击的时候就开始转,在没有数据返回时一直转,当数据返回后,在执行如下逻辑:在转5圈10圈之后停在指定位置就好了。