简单的转盘抽奖html,HTML5抽奖转盘-CSS3超简单版本

本文介绍了如何使用CSS3的transition和transform属性轻松创建抽奖转盘动画。通过设置旋转元素的结束角度和过渡效果,实现转盘的旋转与抽奖结果判断。在动画结束后,通过比较奖品角度区间确定中奖情况。完整代码可在Github找到。
摘要由CSDN通过智能技术生成

网上有很多关于抽奖转盘的代码和实例,有使用JavaScript控制动画的,有使用Canvas实现的,它们思路各不相同,本文将介绍一种采用CSS3的方式来实现转盘动画效果,非常简单,只需几行代码即可实现。

效果演示

核心思路

采用CSS3的transition(过渡效果),给定需要旋转的元素设置transform的rotate属性的结束角度,同时添加transition-timing-function来控制旋转的速率包括起始速率和结束速率,代码如下(浏览器前缀可自行添加):

#pointer {

transition: transform 6.5s;

transition-timing-function: ease-in-out;

}

复制代码

这样,给定结束角度后,元素就会旋转,结束角度可以自由控制旋转的圈数,例如结束角度为angelEnd,即圈数m=angelEnd/360 并取整,前几圈转满360无需特殊处理,关键是最后一圈的角度决定了抽奖的结果,代码如下:

let base = 2160; //先转满360×6圈

let result = getRandom(-30,330); // 最后一圈角度,获取-30到330的随机数

let angelEnd = -(base+result)// 结束角度数,负数代表逆时针旋转

$("#pointer").css({"transform":"rotate("+angelEn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值