首页 > 其他分享 >Lucky-Canvas抽奖插件的使用

Lucky-Canvas抽奖插件的使用

时间:2023-12-21 10:27:24浏览次数:29  
标签:插件 text top fonts Canvas Lucky width range background

官方网站:

https://100px.net/

新建一个空白的js文件’lucky-canvas.js‘,复制官网的JS代码 'https://unpkg.com/[email protected]/dist/index.umd.js'

新建一个html网页'lucky-canvas.html',引入刚刚新建的js文件

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>抽奖</title>
<style>
	body{
		background-color:#444;
		font-size:14px;
		text-align:center;
	}
	a{color:#eee}
	p{
		font-size:50px;
		color:#eee;
		text-align:center;

		bottom:0px; 
		padding-top:0px;
		font-weight:normal;
	}
	#wenzi{
	  position: absolute;
      top: 0%; /* 与顶部的距离 */
      left: 41%; /* 与左侧的距离 */
      padding: 0px;
      display: flex;
      justify-content: center; /* 水平居中 */
	}
	#my-lucky{
	  position: absolute;
      top: 10%; /* 与顶部的距离 */
      left: 25%; /* 与左侧的距离 */
      padding: 50px;
      display: flex;
      justify-content: center; /* 水平居中 */
	}
	
</style>

<script src="/lucky-canvas.js" type="text/javascript"></script>

</head>

<body>

	
    <div id="wenzi"><p>抽奖</p></div>
	<div id="my-lucky"></div>
	    
<script>
  const myLucky = new LuckyCanvas.LuckyWheel('#my-lucky', {
    width: '600px',
    height: '600px',
    blocks: [{ padding: '10px', background: '#ff4500' }],
    prizes: [
      { range:2,background: '#e9e8fe', fonts: [{ text: '一等奖' }] ,imgs:[{src:'/mrbs/img/01.png', top:'40px',width: '50%'}]},
      { range:2,background: '#b8c5f2', fonts: [{ text: '二等奖' }] ,imgs:[{src:'/mrbs/img/02.png', top:'40px',width: '50%'}]},
      { range:0,background: '#e9e8fe', fonts: [{ text: '三等奖' }] ,imgs:[{src:'/mrbs/img/03.png', top:'40px',width: '50%'}]},
      { range:0,background: '#b8c5f2', fonts: [{ text: '四等奖' }] ,imgs:[{src:'/mrbs/img/04.png', top:'40px',width: '50%'}]},
      { range:0,background: '#e9e8fe', fonts: [{ text: '五等奖' }] ,imgs:[{src:'/mrbs/img/05.png', top:'40px',width: '50%'}]},
      { range:0,background: '#b8c5f2', fonts: [{ text: '六等奖' }] ,imgs:[{src:'/mrbs/img/01.png', top:'40px',width: '50%'}]},
    ],
    buttons: [
      { radius: '35%', background: '#617df2' },
      { radius: '30%', background: '#afc8ff' },
      {
        radius: '25%', background: '#869cfa',
        pointer: true,
        fonts: [{ text: '开始',fontSize:'32px', top: '-20px' }]
      },
    ],
    


    start: function() {
      // 开始游戏
      myLucky.play()
      // 假设接口的请求速度是1s
      // 生成一个随机角度作为停止位置
  const randomAngle = Math.floor(Math.random() * 360);
  // 生成一个1到3秒之间的随机时间
  const randomTime = Math.floor(Math.random() * (3000 - 1000 + 1)) + 1000; // 1000毫秒 = 1秒
      setTimeout(_ => {
        // 停止游戏(使用1-3秒内随机时间),并且使用随机角度
        myLucky.stop(randomAngle)  //注意: 使用 range 属性时, stop 方法就不能传递中奖索引了, 否则 stop 传递的索引具有优先级, 会无视 range 属性;
      }, randomTime)
    },
    end: function(prize) { // 游戏停止时触发
      alert('恭喜中奖: ' + prize.fonts[0].text)
    }
    
   
  })
  
</script>


</body>
</html>

标签:插件,text,top,fonts,Canvas,Lucky,width,range,background
From: https://www.cnblogs.com/cn1151/p/17918368.html

相关文章

  • 微信小程序canvas实现人员签名
    这里使用获取canvas节点实现的小程序最新的api签字面板效果图        wxml部分:<view class="container" >  <view class="sig_txt">    <canvas type="2d" id="myCanvas"      style="width:{{width}}px;height:{{height}}p......
  • vim 安装emmnt插件
    github地址:https://github.com/mattn/emmet-vimcd~/.vimgitclonehttps://github.com/mattn/emmet-vim.gitcdemmet-vimcp-rplugin~/.vim/plugincp-rautoload~/.vim/autoload新建一个测试文件sudovimindex.html按键i进入输入模式,一定要确保光标在输入字符之后html:5按键......
  • IDEA中也能用Postman了,这款插件平替
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipost......
  • IDEA中也能用Postman了,这款插件平替
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipos......
  • 手把手教你使用ArkTS中的canvas实现签名板功能
     一、屏幕旋转● 实现签名板的第一个功能就是旋转屏幕。旋转屏幕在各种框架中都有不一样的方式,比如:在H5端,我们一般是使用CSS中的transform属性中的rotate()方法来强制将网页横屏,然后实现一系列功能● 在嵌套第三方APP中,我们一般是调用对应的SDK提供的方法,即可实现旋转屏幕......
  • PoshyTip jQuery 文本提示插件的使用
    PoshyTip 是JQuery中一款文本提示插件,在Jsp页面使用相当方便,插件内包含了很多外观样式,可以作为FormTooltips使用。插件包下载地址:http://vadikom.com/files/?file=poshytip/poshytip-1.2.zipPoshyTipDemo地址:http://vadikom.com/demos/poshytip/下载好插件包后,解压可看到目录......
  • GoFrame Goland插件
    前言GoFrame是一款模块化、高性能、企业级的Go基础开发框架。GoFrame是一款通用性的基础开发框架,是Golang标准库的一个增强扩展级,包含通用核心的基础开发组件,优点是实战化、模块化、文档全面、模块丰富、易用性高、通用性强、面向团队。GoFrame既可用于开发完整的工程化项......
  • vscode中Todo Tree插件的使用
    vscode中TodoTree插件的使用配置JSON将下方的JSON代码放入用户配置中复制JSON配置后,点击这里,然后粘贴。"todo-tree.tree.showScanModeButton":false,"todo-tree.filtering.excludeGlobs":["**/node_modules","*.xml","*.XML"],"todo......
  • vscode插件,将修改的文件同步到服务器
    安装扩展--deploy 在setting.json中进行设置 "deploy":{"targets":[{"type":"sftp","name":"MySFTPfolder","descr......
  • 这款IDEA插件确实爱了,免费
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、接......