1.抽奖活动

这段代码实现了一个图片轮播效果,用户点击启动按钮后,图片会随机选中并突出显示,每150次轮播后停止,并扩大选定图片。代码使用了HTML、CSS和JavaScript,适用于前端开发中的交互设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码:

<!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>
  </head>
  <style>
    i {
      display: flex;
      flex-wrap: wrap;
      width: 600px;
      height: 600px;
      background-color: beige;
      margin: 200px auto;
    }
    .option {
      width: 200px;
      height: 200px;
      background-color: pink;
      color: #fff;
      text-align: center;
      /* padding-top: 50px; */
      box-sizing: border-box;
      font-weight: 400;
    }
    .btn {
      font-size: 30px;
      padding-top: 0px;
      border: 0px;
      color: black;
    }
    .active {
      background-color: aqua;
      /* position: absolute; */
    }
    
  </style>
  <style></style>
  <body>
    <i class="box">
      <!-- <div class="option">1</div>
      <div class="option">2</div>
      <div class="option">3</div>
      <div class="option">4</div> -->
      <img
        src="./78578d4406bbb556a8efa0fd8315dae2.jpg"
        alt="倪妮"
        class="option"
      />
      <img src="./9cdf-kakmcxe8155061.png" alt="韩国明星" class="option" />
      <img
        src="./bc901c64d4c129196dd87465c0776633.jpeg"
        alt="李沁"
        class="option"
      />
      <img src="./R-C.png" alt="张婧仪" class="option" />
      <button class="option btn">启动</button>
      <img src="./20191211033143172.jpg" class="option" alt="韩国明星" />
      <img src="./20201003232050_hblre.jpg" class="option" alt="马思纯" />
      <img src="./20220527015642_d502a.jpg" class="option" alt="景田" />
      <img src="./20220604220522_616a9.jpg" class="option" alt="刘亦菲" />
    </i>
  </body>
  <script>
    let btn = document.querySelector("button"); //按钮
    let option = document.querySelectorAll("img");
    let timer = null;

    console.log(option);
    btn.onclick = function () {
      let num = 0;
      if (timer == null) {
        timer = setInterval(() => {
          num++;
          let ran = Math.round(Math.random() * (7 - 0) + 0);
          for (let i = 0; i < option.length; i++) {
            option[i].style.border = "0px";
          }
          option[ran].style.border = "2px solid red";
          if (num === 150) {
            clearInterval(timer);
            timer = null;
            option[ran].style.transition='all 0.5s';
            option[ran].style.width='600px';
            option[ran].style.height='600px';
            option[ran].style.position='absolute'
            // alert("你选择的女神的" + option[ran].alt);
          }
        }, 50);
      }
    };
  </script>
</html>

逻辑分析:

1.控制只让其选中一个

获取一个随机数之后,会选中对应的,但是在下一次选中的时候为了保证不会同时选中,

所以直接通过for循环进行清除。

2.持续递增到达一定点的时候停止

num的作用:

定义一个变量,让持续递增,当值等于某一个点的时候,清除定时器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值