以下是一个简单的九宫格抽奖功能的HTML+JS+CSS代码示例:

HTML代码:

<div class="grid-container">
  <div class="grid-item" id="item1">1</div>
  <div class="grid-item" id="item2">2</div>
  <div class="grid-item" id="item3">3</div>
  <div class="grid-item" id="item4">4</div>
  <div class="grid-item" id="item5">5</div>
  <div class="grid-item" id="item6">6</div>
  <div class="grid-item" id="item7">7</div>
  <div class="grid-item" id="item8">8</div>
  <div class="grid-item" id="item9">9</div>
</div>
<button id="spinBtn">Spin</button>

CSS代码:

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 10px;
  width: 300px;
  height: 300px;
  margin: 20px auto;
}

.grid-item {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 36px;
  font-weight: bold;
  background-color: #fff;
  border: 2px solid #000;
}

#spinBtn {
  display: block;
  margin: 0 auto;
  padding: 10px 20px;
  font-size: 18px;
  font-weight: bold;
  background-color: #00c;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

JS代码:

// 设置中奖概率
let probability = 0.3;

// 获取九宫格元素
let items = document.querySelectorAll('.grid-item');

// 获取抽奖按钮元素
let spinBtn = document.getElementById('spinBtn');

// 定义抽奖函数
function spin() {
  // 随机生成一个0-1之间的浮点数
  let rand = Math.random();

  // 如果随机数小于中奖概率,则随机选中一个中奖元素
  if (rand < probability) {
    let winIndex = Math.floor(Math.random() * items.length);
    items[winIndex].classList.add('winner');
    alert('Congratulations! You Win!');
  }
  // 否则,不中奖
  else {
    alert('Sorry, You Lose!');
  }
}

// 给抽奖按钮添加点击事件
spinBtn.addEventListener('click', spin);

在上述代码中,我们使用了CSS的grid布局来创建了一个3x3的九宫格,每个小格子里显示的是数字1-9。我们还定义了一个抽奖按钮,当点击该按钮时,会调用spin函数进行抽奖。

在spin函数中,我们首先生成一个0-1之间的随机浮点数,然后与设定的中奖概率进行比较。如果随机数小于中奖概率,则随机选中一个中奖元素,并给该元素添加winner类名,同时弹出中奖提示框。否则,就弹出不中奖提示框。

最后,在JS代码中,我们使用了querySelectorAll方法获取了所有的grid-item元素,使用了addEventListener方法给抽奖按钮添加了一个点击事件,并将spin函数作为事件处理程序

用HTML+JS+CSS写一个九宫格抽奖功能并且能控制中奖概率

原文地址: https://www.cveoy.top/t/topic/cntV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录