1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 手把手教你做抽奖转盘(自定义alert(弹出框

手把手教你做抽奖转盘(自定义alert(弹出框

时间:2022-03-09 21:01:32

相关推荐

手把手教你做抽奖转盘(自定义alert(弹出框

分享一下我老师大神的人工智能教程!零基础,通俗易懂!/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

<!DOCTYPE html><html lang="zh-cn"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="jquery-2.1.4.min.js"></script> <title>转盘抽奖</title> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <style type="text/css"> * { padding: 0px; margin: 0px; font-size: 16px; font-family: "Microsoft YaHei"; } .turnplate_box { width: 300px; height: 300px; margin: 100px auto; position: relative; border: 1px solid red; } .turnplate_box canvas { position: absolute; border: 1px solid yellow; } #myCanvas { background-color: white; border-radius: 100%; } #myCanvas01, #myCanvas03 { left: 50px; top: 50px; z-index: 30; } #myCanvas02 { left: 75px; top: 75px; z-index: 20; } #myCanvas { -o-transform: transform 6s; -ms-transform: transform 6s; -moz-transform: transform 6s; -webkit-transform: transform 6s; transition: transform 6s; -o-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; -moz-transform-origin: 50% 50%; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; } .turnplatw_btn { width: 60px; height: 60px; left: 120px; top: 120px; border-radius: 50%; position: absolute; cursor: pointer; border: none; background: transparent; outline: none; z-index: 40; border: 1px solid red; } </style> <script type="text/javascript"> $(document).ready(function() {//旋转角度 var angles; //可抽奖次数 var clickNum = 5; //旋转次数 var rotNum = 0; //中奖公告 var notice = null; //转盘初始化 var color = ["red", "green", "blue", "darkblue", "black", "yellow"];//转盘,转盘,内园,字颜色,开始抽奖颜色,开始抽奖背景颜色 var info = ["谢谢参与", " 1000", " 10", " 500", " 100", " 4999", " 1", " 20"]; var info1 = ['再接再厉', ' 元', ' 万元', ' 淘金币', ' 万美元', ' 淘金币', ' 日游(月球)', ' 个美女'] canvasRun(); $('#tupBtn').bind('click', function() {alert(1); if (clickNum >= 1) { //可抽奖次数减一 clickNum = clickNum - 1; //转盘旋转 runCup(); //转盘旋转过程“开始抽奖”按钮无法点击 $('#tupBtn').attr("disabled", true); //旋转次数加一 rotNum = rotNum + 1; //“开始抽奖”按钮无法点击恢复点击 setTimeout(function() {alert(notice); $('#tupBtn').removeAttr("disabled", true); }, 6000); } else { alert("亲,抽奖次数已用光!"); } }); //转盘旋转 function runCup() {probability(); var degValue = 'rotate(' + angles + 'deg' + ')'; $('#myCanvas').css('-o-transform', degValue); //Opera $('#myCanvas').css('-ms-transform', degValue); //IE浏览器 $('#myCanvas').css('-moz-transform', degValue); //Firefox $('#myCanvas').css('-webkit-transform', degValue); //Chrome和Safari $('#myCanvas').css('transform', degValue); } //各奖项对应的旋转角度及中奖公告内容 function probability() {//获取随机数 var num = parseInt(Math.random() * (7 - 0 + 0) + 0); //概率 if (num == 0) { angles = 2160 * rotNum + 1800; notice = info[0] + info1[0]; } //概率 else if (num == 1) { angles = 2160 * rotNum + 1845; notice = info[7] + info1[7]; } //概率 else if (num == 2) { angles = 2160 * rotNum + 1890; notice = info[6] + info1[6]; } //概率 else if (num == 3) { angles = 2160 * rotNum + 1935; notice = info[5] + info1[5]; } //概率 else if (num == 4) { angles = 2160 * rotNum + 1980; notice = info[4] + info1[4]; } //概率 else if (num == 5) { angles = 2160 * rotNum + 2025; notice = info[3] + info1[3]; } //概率 else if (num == 6) { angles = 2160 * rotNum + 2070; notice = info[2] + info1[2]; } //概率 else if (num == 7) { angles = 2160 * rotNum + 2115; notice = info[1] + info1[1]; } } //绘制转盘 function canvasRun() {var canvas = document.getElementById('myCanvas'); var canvas01 = document.getElementById('myCanvas01'); var canvas03 = document.getElementById('myCanvas03'); var canvas02 = document.getElementById('myCanvas02'); var ctx = canvas.getContext('2d'); var ctx1 = canvas01.getContext('2d'); var ctx3 = canvas03.getContext('2d'); var ctx2 = canvas02.getContext('2d'); createCircle(); createCirText(); initPoint(); //外圆 function createCircle() {var startAngle = 0; //扇形的开始弧度 var endAngle = 0; //扇形的终止弧度 //画一个8等份扇形组成的圆形 for (var i = 0; i < 8; i++) { startAngle = Math.PI * (i / 4 - 1 / 8); endAngle = startAngle + Math.PI * (1 / 4); ctx.save(); ctx.beginPath(); ctx.arc(150, 150, 100, startAngle, endAngle, false); ctx.lineWidth = 120; if (i % 2 == 0) { ctx.strokeStyle = color[0]; } else { ctx.strokeStyle = color[1]; } ctx.stroke(); ctx.restore(); } } //各奖项 function createCirText() {ctx.textAlign = 'start'; ctx.textBaseline = 'middle'; ctx.fillStyle = color[3]; var step = 2 * Math.PI / 8; for (var i = 0; i < 8; i++) { ctx.save(); ctx.beginPath(); ctx.translate(150, 150); ctx.rotate(i * step); ctx.font = " 20px Microsoft YaHei"; ctx.fillStyle = color[3]; ctx.fillText(info[i], -30, -115, 60); ctx.font = " 14px Microsoft YaHei"; ctx.fillText(info1[i], -30, -95, 60); ctx.closePath(); ctx.restore(); } } function initPoint() {//箭头指针 ctx1.beginPath(); ctx1.moveTo(100, 24); ctx1.lineTo(90, 62); ctx1.lineTo(110, 62); ctx1.lineTo(100, 24); ctx1.fillStyle = color[5]; ctx1.fill(); ctx1.closePath(); //中间小圆 ctx3.beginPath(); ctx3.arc(100, 100, 40, 0, Math.PI * 2, false); ctx3.fillStyle = color[5]; ctx3.fill(); ctx3.closePath(); //小圆文字 ctx3.font = "Bold 20px Microsoft YaHei"; ctx3.textAlign = 'start'; ctx3.textBaseline = 'middle'; ctx3.fillStyle = color[4]; ctx3.beginPath(); ctx3.fillText('开始', 80, 90, 40); ctx3.fillText('抽奖', 80, 110, 40); ctx3.fill(); ctx3.closePath(); //中间圆圈 ctx2.beginPath(); ctx2.arc(75, 75, 75, 0, Math.PI * 2, false); ctx2.fillStyle = color[2]; ctx2.fill(); ctx2.closePath(); } } }); </script> </head> <body> <div class="turnplate_box"> <canvas id="myCanvas" width="300px" height="300px">抱歉!浏览器不支持。</canvas> <canvas id="myCanvas01" width="200px" height="200px">抱歉!浏览器不支持。</canvas> <canvas id="myCanvas03" width="200px" height="200px">抱歉!浏览器不支持。</canvas> <canvas id="myCanvas02" width="150px" height="150px">抱歉!浏览器不支持。</canvas> <button id="tupBtn" class="turnplatw_btn"></button> </div> <!-- 更改系统默认弹窗 --> <script type="text/javascript"> window.alert = function(str) {var shield = document.createElement("DIV"); shield.id = "shield"; shield.style.position = "absolute"; shield.style.left = "50%"; shield.style.top = "50%"; shield.style.width = "280px"; shield.style.height = "150px"; shield.style.marginLeft = "-140px"; shield.style.marginTop = "-110px"; shield.style.zIndex = "25"; var alertFram = document.createElement("DIV"); alertFram.id = "alertFram"; alertFram.style.position = "absolute"; alertFram.style.width = "280px"; alertFram.style.height = "150px"; alertFram.style.left = "50%"; alertFram.style.top = "50%"; alertFram.style.marginLeft = "-140px"; alertFram.style.marginTop = "-110px"; alertFram.style.textAlign = "center"; alertFram.style.lineHeight = "150px"; alertFram.style.zIndex = "300"; strHtml = "<ul style=\"list-style:none;margin:0px;padding:0px;width:100%\">\n"; strHtml += " <li style=\"background:#626262;text-align:left;padding-left:20px;font-size:14px;font-weight:bold;height:25px;line-height:25px;border:1px solid #F9CADE;color:white\">[中奖提醒]</li>\n"; strHtml += " <li style=\"background:#787878;text-align:center;font-size:12px;height:95px;line-height:95px;border-left:1px solid #F9CADE;border-right:1px solid #F9CADE;color:#DCC722\">" + str + "</li>\n"; strHtml += " <li style=\"background:#626262;text-align:center;font-weight:bold;height:30px;line-height:25px; border:1px solid #F9CADE;\"><input type=\"button\" value=\"确 定\" onclick=\"doOk()\" style=\"width:80px;height:20px;background:#626262;color:white;border:1px solid white;font-size:14px;line-height:20px;outline:none;margin-top: 4px\"/></li>\n"; strHtml += "</ul>\n"; alertFram.innerHTML = strHtml; document.body.appendChild(alertFram); document.body.appendChild(shield); this.doOk = function() {alertFram.style.display = "none"; shield.style.display = "none"; } alertFram.focus(); document.body.onselectstart = function() {return false; }; } </script> </body></html>12345678910111213141516171819222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119111221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992000220320420520620720820921021121221321421521621721821921222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317

给我老师的人工智能教程打call!/jiangjunshow

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。