位置: 编程技术 - 正文

javascript+HTML5 Canvas绘制转盘抽奖

编辑:rootadmin

推荐整理分享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)

  • 货物运输印花税减免
  • 研究经费怎么写
  • 油费补贴计入什么科目
  • 执行企业会计准则第21号租赁的企业
  • 交通补贴算工资收入吗
  • 为什么租赁只能20年
  • 企业多交所得税不想退税在电子税务局如何处理
  • 租赁合同印花税率
  • 工业固定资产折旧会计处理
  • 知道增值税如何计算开票金额
  • 购买土地什么时候缴纳契税
  • 软件 退税
  • 电影剧本稿费代扣代缴个人所得税如何处理?
  • 留存收益转增资本有什么好处
  • 转让长期股权投资交什么税
  • 幼儿园幼儿买花的通知
  • 抵押担保查询
  • 广东省电子税务局app下载
  • 应纳税所得额应纳税额公式
  • 房产交易会涉及哪些费用
  • 开手续费发票开多了怎么做账
  • 罚没支出包括税收滞纳金吗
  • 企业所得税佣金扣除规定
  • 去年红字发票怎么做账
  • 没有收入能结转损益吗
  • 电脑看电影开全屏画面会迟钝是什么原因
  • 华为分享连接电脑显示检查您的拼写
  • ubuntu系统怎么安装微信
  • 谈谈你对人民美好生活的理解
  • searchnavversion.exe - searchnavversion是什么进程 作用是什么
  • php字符串变量
  • 免单产品是什么意思
  • vue项目页面写在哪里
  • 分享php守护进程失败
  • php投票网站制作
  • EMQX(MQTT)----基本用法以及使用Python程序进行模拟流程
  • vue–router
  • 挂车车船税缴纳地点
  • 业务招待费属于现金流量表中的哪个项目
  • spring integration使用:消息转换器
  • 网络命令traceroute
  • 如何用php操作mysql
  • 溢价购买子公司账务处理
  • php连接mysql8.0
  • 企业分立房产税如何计算
  • 转账收手续费不
  • 罚款收入算是营收收入吗
  • 只开发票没有合同也要印花税吗
  • 撤回或减少投资所得税处理
  • 发票额开多了多出的金额怎么处理?
  • 应交增值税进项税额月底怎么处理
  • 印花税的计入科目有哪些
  • 出口额和外汇收入
  • 差额征收的有哪些
  • 要约收购期满
  • 土地出让的钱归谁
  • win7系统激活不成功怎么办
  • window部署服务
  • bios里没有启动项设置
  • 永恒之塔客户端是32位
  • win10提示激活windows
  • linux防火墙命令大全
  • linuxdhcp服务器管理与配置
  • Win10如何还原输入法
  • linux必知必会
  • opengl多级采样消除锯齿有什么用
  • 支持google play
  • app的架构设计
  • unity游戏开发的技术路线有哪些
  • javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
  • android PercentRelativeLayout 支持百分比来设置控件的宽高
  • html里id
  • linux shell 中 2>&1的含义
  • angular keyup
  • javascript要怎么学
  • 重庆市电子税务局官网登录入口注册
  • 个体经营所得申报密码怎样设置
  • 主要领导成员是指
  • 白云区嘉禾税务局地址
  • 新乡市国家税务局刘磊
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设