位置: 编程技术 - 正文

javascript+HTML5 Canvas绘制转盘抽奖

发布时间:2024-02-27

推荐整理分享javascript+HTML5 Canvas绘制转盘抽奖,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

之前做过的项目中,有需要抽奖转盘功能的。项目已经完工一段时间了,也没出现什么严重的bug,所以现在拎出来分享给大家。

功能需求1、转盘要美观,转动效果流畅。2、转盘上需要显示奖品图片,并且奖品是后台读取的照片和名字。3、转动动画完成后要有相应提示。4、获取的奖品具体算法在数据库里操作,前端只提供最后的效果展示。

知识要点1、引用了一个jq插件:awardRotate,用来实现更智能化的转动(插件下载: api 进行操作。(canvas中文手册可以查看 由参数可知,我们需要从服务端获取相应的奖品名称,奖品内容,奖品图片页面标签等信息,再对大转盘进行渲染。所以我们的第一步操作就是向服务端发送请求获取对应的奖品信息,并且遍历到生成大转盘所需的数组参数里:

data.list是我获取来的奖品json数据:

由于客户要求奖品没有“谢谢参与”,所以最低奖品也为“优胜奖”,所以在遍历奖品之后,插入有关“优胜奖”的渲染描述即可:

因为图片加载需要时间,而使用canvas复制图片需要图片加载完成后才能绘制,所以我使用了preloadimages,让所有奖品图片都加载完毕后进行大转盘的渲染工作:

javascript+HTML5 Canvas绘制转盘抽奖

绘制转盘代码:

每一步基本上都有注释,对于canvas方法有不理解的可以百度,或者查询我上面分享的中文手册。html代码为:

效果图:

点击事件执行代码:

上面的代码实现了基本上的逻辑,还需要一个转动转盘的方法来响应服务端传过来的结果:

好了 主要的功能代码都已分享完毕了,还有些工具方法不理解的,可以留言 我会补充进去的。总结canvas是html5很强大的一张王牌,可以实现许多绚丽的效果,希望本文可以帮到一些正在学习使用canvas的朋友们。

浅析JavaScript中浏览器的兼容问题 浏览器兼容性问题是在实际开发中容易忽略而又最重要的一部分。我们在讲老版本浏览器兼容问题之前,首先要了解什么是能力检测,它是来检测浏览

javascript实现简单计算器效果【推荐】 最终效果如下图-2,有bug:就是整数后点击%号结果正确,如果小数后面点击%的话结果就错误!其他都正常,求指点:input的value是string类型的,在JS中改

javascript实现仿百度图片的瀑布流加载效果 由于没有服务器,就用一个json字符串作为下拉时加载图片数据的来源了html:!DOCTYPEhtmlhtmlheadmetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/scriptsrc="js/wate

标签: javascript+HTML5 Canvas绘制转盘抽奖

本文链接地址:https://www.jiuchutong.com/biancheng/373476.html 转载请保留说明!

上一篇:深入浅析JavaScript中的constructor(java script教程)

下一篇:浅析JavaScript中浏览器的兼容问题(javascript entries)

  • 向银行借款存入银行会引起
  • 小规模纳税人个税是月报还是季报
  • 小规模纳税人出租
  • 企业所得税申报时间
  • 银行承兑汇票背书可以拆分
  • 稽查补缴增值税做账
  • 购买润滑油分录
  • 批发零售企业用什么软件好
  • 印花税 企业
  • 查账征收的个体户需要申报个人所得税吗
  • 快递费开专票怎么入账
  • 小微企业1个点和3个点对纳税的影响
  • 个人所得税法规定可减征个税的情形有
  • 有进项无销项会计分录
  • 会计费用涉及哪些科目?
  • 哪些税计入原材料费用
  • 代驾费用入什么二级科目
  • 购买基金会计核算
  • 建安企业核定征收改查账征收后怎么处理账目
  • 税控设备指什么
  • 微软surfacepro3上市时间
  • 应付职工薪酬包括个人社保和个税吗
  • php如何实现多进程
  • 主营业务收入发票
  • 付的押金冲抵部分怎么算
  • 应缴纳增值税计什么科目
  • PHP:connection_aborted()的用法_misc函数
  • php文本操作
  • 库存商品的分类有哪些
  • 企业所得税包含在税金及附加里面吗
  • 人工智能agi
  • 上个月开的发票这个月作废怎么做帐
  • 上季度的发票开出去了可以作废吗
  • 企业所得税预缴可以不交吗
  • 织梦cms要钱吗
  • 未分配利润用于扩大再生产
  • 申报表填完后下一步是什么
  • 印花税报少了交税了怎么办
  • 如何进行工程项目的经济评价
  • 水库水面经营权如何取得
  • 普通发票开具的管理是?
  • 小规模纳税人开专票需要交税吗
  • 不开票收入要交印花税吗
  • 小规模纳税人在哪里查
  • 主营业务成本如何设置明细
  • 预收工程款怎么做账
  • 减免及返还增值税怎么算
  • 出库未开发票
  • 支付应付账款的摘要
  • 预计所有者权益增长率
  • 政府专项扶持资金
  • 小规模普票收入要交税吗
  • 财务人员怎么查出发票虚开?
  • sqlserver查看磁盘大小
  • 关于sql的几道小知识
  • mysql分表实践
  • execve函数
  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法
  • 下载微信
  • linux系统之间的区别
  • centos7怎么变成图形化界面
  • solaris 11.3
  • linux网卡lo
  • win7自带拍照功能
  • 在mac中该如何共享文件夹
  • Jquery ajax 同步阻塞引起的UI线程阻塞问题
  • 如何在linux安装软件
  • cmd运行指令闪黑框
  • 多媒体播放器使用方法
  • Unity3D游戏开发标准教程
  • Js组件开发方式
  • 前端面试题csdn
  • 详解中国女足出线形势
  • android使用webview加载网页
  • 如何批量删除列表
  • python3.9.1怎么用
  • 基于javascript的毕业设计选题
  • 百旺金赋天津客服
  • 税务怎么报停
  • 临时增版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号