转盘抽奖。点击抽奖按钮时,希望数据没有过来时就触发旋转,等获取到数据时指定到相应的位置

新手上路,请多包涵

做转盘抽奖时有个需求,点击抽奖按钮时发送ajax,如果服务器延迟比较大时,请求的数据不能及时返回,那么就会出现点击抽奖按钮后不能旋转,所以有什么方法可以在点击按钮之后,获取数据之前,转盘开始旋转,等获取到数据之后根据获取的数据停到相应的位置。谢谢,大佬们

阅读 5k
4 个回答

我的思路是点击的时候就开始转,在没有数据返回时一直转,当数据返回后,在执行如下逻辑:在转5圈10圈之后停在指定位置就好了。

如果服务器延迟比较大时,请求的数据不能及时返回,那么就会出现点击抽奖按钮后不能旋转

为什么不能转。ajax不是异步的么?

...//转
$.ajax(...,success:()=>{
    ...
    ...//停
})

你点击旋转,是判断有没请求完数据回来吗 ? 那这样的话,是否可以考虑写个方法是处理没有数据的时候,它也能转的(比如制造点假数据),数据请求完回来后 你就还是掉之前那个方法呢

首先,你写转盘转动的时候,就应该考虑它的停止以及停止的位置。
然后,在点击开始--获取数据的这段时间,用定时器让它自己转。
最后,获取到数据后,设置好停止位置了再让它多转几圈,以便可以停到指定位置 (避免结果数据已经被转过去了)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题