<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
用JavaScript寫一個九宮格的抽獎盤,供大家參考,具體內容如下
點選中間的塊,選中獎品的亮塊會在邊緣的8個塊迴圈;
選中後,彈出選中的內容;
程式碼參考:
HTML檔案:
<body> <div class="box"> <ul id="jiangPin"> <li><a href="javascript:viod(0);" ><span>獎品 1</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 2</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 3</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 4</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 5</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 6</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 7</span></a></li> <li><a href="javascript:viod(0);" ><span>獎品 8</span></a></li> </ul> <button type="button" class="btn" id="beginBtn">點選開始</button> <div class="tishi" id="tishi"> <span>恭喜您獲得:</span> <p></p> <button>確定</button> </div> </div> </body>
通過position定位來固定獎盤各個板塊的位置,將有獎品的8個塊分散在九宮格的邊緣,開始按鈕在九宮格正中間,將彈出的提示框放於整個獎盤的上層顯示,初始將其隱藏。
CSS檔案:
.box{ width: 450px; height: 450px; background-color: #9a6e3a; border: 2px solid #990055; position: relative; z-index: 10; } .box>ul>li{ position: absolute; width: 148px; height: 148px; border: 1px #222222 solid; background-color: #ad889d; } .box>ul>li>a{ display: block; color: #fff; font-size: 30px; text-align: center; line-height: 148px; } /* 開始按鈕 */ .btn{ position: absolute; top: 150px; left: 150px; width: 150px; height: 150px; border: 1px #222222 solid; background-color: #7d53c7; outline: none; cursor: pointer; color: #fff; font-size: 25px; transition: all 0.5s; z-index: 20; } .btn:hover{ background-color: #df04ff; font-size: 30px; } .btn:active{ background-color: #7d53c7; } .box>ul>li.on{ background-color: #f00; } /* 開始按鈕 end */ /* 獎品定位 */ .box>ul>li:nth-child(1){ top: 0; left: 0; } .box>ul>li:nth-child(2){ top: 0; left: 150px; } .box>ul>li:nth-child(3){ top: 0; left: 300px; } .box>ul>li:nth-child(4){ top: 150px; left: 300px; } .box>ul>li:nth-child(5){ top: 300px; left: 300px; } .box>ul>li:nth-child(6){ top: 300px; left: 150px; } .box>ul>li:nth-child(7){ top: 300px; left: 0; } .box>ul>li:nth-child(8){ top: 150px; left: 0; } /* 獎品定位 end */ /* 提示框 */ .tishi{ width: 300px; height: 146px; border: 2px #990055 solid; background: #92EC1F; border-radius: 20px; position: absolute; left: 50%; top: 50%; margin-top: -75px; margin-left: -150px; z-index: 30; text-align: center; font-size: 25px; font-weight: bold; display: none; animation: tishiAni 0.5s both; transition: all 0.5s; } .tishi>p{ color: red; font-size: 28px; margin-top: 20px; } .tishi>button{ width: 60px; height: 30px; border:none; outline: none; cursor: pointer; position: absolute; right: 30px; bottom: 20px; } @keyframes tishiAni { 0%{ opacity: 0; } 100%{ opacity: 1; } } /* 提示框 end */
通過計時器來實現獎品亮塊的迴圈
JavaScript檔案:
{ let jiangPinChi = [ "獎品1", "獎品2", "獎品3", "獎品4", "獎品5", "獎品6", "獎品7", "獎品8", ]; let index = 0; let times = Math.round( Math.random()*20 ) +20 ; let jiangPin = document.getElementById("jiangPin"); let beginBtn = document.getElementById("beginBtn"); let tishi = document.getElementById("tishi"); let cont = tishi.children; let jPLi = jiangPin.children; let liBro = function (tag) { let fat = tag.parentNode; let tagLi = fat.children; let othLis = []; for (let jPLi of tagLi) { if (jPLi === tag) { continue; } othLis.push(jPLi); } return othLis; }; let showing = function( index ) { let othLis = liBro( jPLi[index] ); for( let i = 0; i<=othLis.length-1 ; i++ ){ othLis[i].classList.remove("on"); } // othLis.forEach(function( value,i ){ // value.classList.remove("on"); // }); jPLi[index].classList.add("on"); }; let changeFun = function( event ){ let myset = setInterval(function(){ index++; times--; if( index > jPLi.length-1 ){ index = 0; } showing( index ); if( times <= 0 ){ clearInterval(myset); times = Math.round( Math.random()*20 ) +20; tishi.style.display = "block"; cont[1].innerHTML = jiangPinChi[index]; } },100); }; beginBtn.addEventListener("click",changeFun); cont[2].addEventListener("click",function( event ){ tishi.style.display = "none"; }); }
當然,這個可以擴充套件成更多的型別,實現不止九宮格的獎盤抽獎模式。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45