最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生JavaScript實現(xiàn)九宮格抽獎

 更新時間:2022年06月28日 15:25:07   作者:好先  
這篇文章主要為大家詳細介紹了原生JavaScript實現(xiàn)九宮格抽獎,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JavaScript實現(xiàn)九宮格抽獎 的具體代碼,供大家參考,具體內容如下

思路:通過移動背景顏色實現(xiàn)中獎信息,每一個方形元素,需要按順序排列,加個延時器,當?shù)阶詈笠粋€的時候讓它從0開始就可以動起來了,!!

<!DOCTYPE html>
<html lang="en">

<head>
? ? <meta charset="UTF-8">
? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">
? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">
? ? <title>Document</title>
? ? <style>
? ? ? ? #box {
? ? ? ? ? ? width: 600px;
? ? ? ? ? ? height: 600px;
? ? ? ? ? ? margin: 0 auto;
? ? ? ? ? ? position: relative;
? ? ? ? }

? ? ? ? #box div {
? ? ? ? ? ? width: 198px;
? ? ? ? ? ? height: 198px;
? ? ? ? ? ? border-radius: 10px;
? ? ? ? ? ? /* border: 1px solid red; */
? ? ? ? ? ? text-align: center;
? ? ? ? ? ? line-height: 198px;
? ? ? ? ? ? background-color: #ffe8e8;
? ? ? ? ? ? position: absolute;
? ? ? ? }

? ? ? ? .btns {
? ? ? ? ? ? text-align: center;
? ? ? ? }

? ? ? ? .active {
? ? ? ? ? ? background-color: rgb(255, 94, 0) !important;
? ? ? ? }
? ? ? ? #start,#end{
? ? ? ? ? ? width: 100px;
? ? ? ? ? ? height: 30px;
? ? ? ? ? ? background-color: rgb(24, 105, 255);
? ? ? ? ? ? color: white;
? ? ? ? }
? ? </style>
</head>

<body>
? ? <div id="box"></div>
? ? <br>
? ? <div class="btns">
? ? ? ? <button id="start">開始</button>
? ? ? ? <button id="end">停止</button>
? ? </div>

? ? <script>
? ? ? ? var box = document.getElementById('box');
? ? ? ? var start = document.getElementById('start');
? ? ? ? var end = document.getElementById('end');
? ? ? ? // 所有獎品
? ? ? ? var allList = ['宇宙戰(zhàn)將', '白起', '太陽系級宇宙戰(zhàn)艦', '小破木船', '地球級宇宙戰(zhàn)將', '月球級蘸醬', '太陽級蘸醬', '大西洋級蘸醬'];
? ? ? ? // 允許抽中的獎品
? ? ? ? var list = ['太陽系級宇宙戰(zhàn)艦','白起']; // 想要中的獎品放進去

? ? ? ? for (let i = 0; i < allList.length; i++) {
? ? ? ? ? ? box.innerHTML += `<div>${allList[i]}</div>`;
? ? ? ? }

? ? ? ? box.children[1].style.left = '200px';
? ? ? ? box.children[2].style.left = '400px';
? ? ? ? box.children[3].style.left = '400px';
? ? ? ? box.children[3].style.top ?= '200px';
? ? ? ? box.children[4].style.left = '400px';
? ? ? ? box.children[4].style.top ?= '400px';
? ? ? ? box.children[5].style.top ?= '400px';
? ? ? ? box.children[5].style.left = '200px';
? ? ? ? box.children[6].style.top ?= '400px';
? ? ? ? box.children[7].style.top ?= '200px';

? ? ? ? var running = false;
? ? ? ? var flag = true;
? ? ? ? var active = 0;
? ? ? ? var time = 200;
? ? ? ? var goods = '';
? ? ? ? box.children[active].className = 'active';

? ? ? ? start.onclick = function () {
? ? ? ? ? ? if (!running) { ?// 只有當沒有在抽獎中的時候,才讓點擊開始
? ? ? ? ? ? ? ? running = true; ?// 重置
? ? ? ? ? ? ? ? time = 200; ?// 重置
? ? ? ? ? ? ? ? f1();
? ? ? ? ? ? }
? ? ? ? }
??
? ? ? ? end.onclick = function () {
? ? ? ? ? ? if (running) { // 只有當正在抽獎中的時候才讓點擊停止
? ? ? ? ? ? ? ? flag = false;
? ? ? ? ? ? ? ? goods = list[Math.floor(Math.random() * list.length)]; ?// 0, 1, 2隨機的一個值
? ? ? ? ? ? }
? ? ? ? }

? ? ? ? // 如果使用定時器,time會鎖死不會改變;通過延時器模擬定時器的方法,是可以改變定時的時間
? ? ? ? function f1() {
? ? ? ? ? ? box.children[active].className = '';
? ? ? ? ? ? active++;
? ? ? ? ? ? if (active > 7){ ?// 因為是從0開始計算所以寫7
? ? ? ? ? ? ? ? active = 0;
? ? ? ? ? ? }
? ? ? ? ? ? box.children[active].className = 'active';
? ? ? ? ? ? if (flag) { // 抽獎速度越來越快
? ? ? ? ? ? ? ? time -= 10;
? ? ? ? ? ? ? ? if (time < 50) {
? ? ? ? ? ? ? ? ? ? time = 50;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } else { // 抽獎速度越來越慢
? ? ? ? ? ? ? ? time += 10;
? ? ? ? ? ? ? ? if (time > 300) {
? ? ? ? ? ? ? ? ? ? time = 300;

? ? ? ? ? ? ? ? ? ? // 判斷當前滾動到的獎品是否是內定的獎品
? ? ? ? ? ? ? ? ? ? if (box.children[active].textContent === goods ) {
? ? ? ? ? ? ? ? ? ? ? ? flag = true;
? ? ? ? ? ? ? ? ? ? ? ? running = false;
? ? ? ? ? ? ? ? ? ? ? ? ?setTimeout(() => {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?alert(goods); // 彈出抽獎信息
? ? ? ? ? ? ? ? ? ? ? ? ?}, 500);
? ? ? ? ? ? ? ? ? ? ? ? return; ?// 抽中獎品后,停止抽獎

? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? setTimeout(f1,time);
? ? ? ? }
? ? </script>
</body>

</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • TypeScript中交叉類型和聯(lián)合類型的區(qū)別詳解

    TypeScript中交叉類型和聯(lián)合類型的區(qū)別詳解

    聯(lián)合類型(Union Types)和交叉類型(Intersection Types)是 TypeScript 中的兩種高級類型,它們都用于組合多個類型并生成新的類型,但它們兩者之間的用法不一樣,本文小編就給大家講講TypeScript中交叉類型和聯(lián)合類型的區(qū)別,需要的朋友可以參考下
    2023-09-09
  • JavaScript不同場景下的文件下載方案詳解

    JavaScript不同場景下的文件下載方案詳解

    這篇文章主要為大家詳細介紹了JavaScript中不同場景下的三種常見文件下載方案,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下
    2023-12-12
  • JavaScript引用賦值與傳值賦值總結

    JavaScript引用賦值與傳值賦值總結

    這篇文章主要介紹了JavaScript引用賦值與傳值賦值總結,在JavaScript中基本數(shù)據(jù)類型都是傳值賦值,復合數(shù)據(jù)類型都是引用賦值(傳地址)也叫引用傳址,下文更多相關資料,需要的小伙伴可以參考一下
    2022-05-05
  • JavaScript使用replace函數(shù)替換字符串的方法

    JavaScript使用replace函數(shù)替換字符串的方法

    這篇文章主要介紹了JavaScript使用replace函數(shù)替換字符串的方法,涉及javascript中replace函數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • jfreechart插件將數(shù)據(jù)展示成餅狀圖、柱狀圖和折線圖

    jfreechart插件將數(shù)據(jù)展示成餅狀圖、柱狀圖和折線圖

    閑暇之余,學習了一下jfreechart圖表生成,結合大蝦們的著作,小弟進行了系統(tǒng)的總結,真是獲益匪淺,這里推薦給小伙伴們,有需要的朋友可以參考下。
    2015-04-04
  • JavaScript事件代理和委托詳解

    JavaScript事件代理和委托詳解

    這篇文章主要為大家詳細介紹了JavaScript事件代理和委托,感興趣的小伙伴們可以參考一下
    2016-04-04
  • WEB 瀏覽器兼容 推薦收藏

    WEB 瀏覽器兼容 推薦收藏

    這是我總結多年的一個小文檔,最近看見有人咨詢?yōu)g覽器兼容的問題,就貢獻出來。
    2010-05-05
  • 微信小程序實現(xiàn)tab頁面切換功能

    微信小程序實現(xiàn)tab頁面切換功能

    這篇文章主要介紹了微信小程序實現(xiàn)tab頁面切換功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 詳解JavaScript原型對象的this指向問題

    詳解JavaScript原型對象的this指向問題

    這篇文章主要為大家介紹了JavaScript原型對象的this指向問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 初識javascript 文檔碎片

    初識javascript 文檔碎片

    今天遇到一個問題: 我通過 ajax 取回另一個頁面的 Html 。但這些 HTML 我不想直接輸出,想通過 getElementsByName 處理后再輸出相應的內容。用原生的 javascript怎樣可以處理呢?
    2010-07-07

最新評論

阳江市| 广丰县| 金华市| 茂名市| 临夏县| 图木舒克市| 电白县| 石林| 织金县| 许昌市| 闻喜县| 内乡县| 石泉县| 株洲市| 鹤庆县| 晋城| 长治市| 繁峙县| 弋阳县| 信阳市| 广安市| 梁河县| 长顺县| 府谷县| 三都| 汽车| 白山市| 滦平县| 玛曲县| 渝中区| 临汾市| 玉屏| 海丰县| 临沭县| 怀来县| 江阴市| 定襄县| 资源县| 翁牛特旗| 交口县| 海丰县|