ASCII码 ASCII码

js-基础(七)双色球、选项卡、购物车

发布于:2022-04-27 16:58:13  栏目:技术文档

1.双色球

  1. <body>
  2. <div class="box"></div>
  3. <script>
  4. let redarr = [];
  5. let resultarr = [];
  6. //1.生成1-33个红球
  7. for(let i = 1;i <= 33;i++){
  8. redarr.push(i);
  9. }
  10. console.log(redarr);
  11. // 2.从33个红球中取出6个
  12. for(let i = 0;i < 6; i++){
  13. let index = Math.floor(Math.random() * redarr.length);
  14. resultarr.push(redarr[index]);
  15. // 会出现重复
  16. redarr.splice(index,1);
  17. }
  18. resultarr.sort((a,b)=>a-b);
  19. console.log(resultarr);
  20. //3. 生成一个蓝球, 并追加到中奖数组中
  21. let blue = Math.floor(Math.random() * 16)+1;
  22. console.log(blue);
  23. resultarr.push(blue);
  24. console.log(resultarr);
  25. // 4. 将中奖号码显示到页面中
  26. const box = document.querySelector(".box");
  27. resultarr.forEach(item=>{
  28. const ball = document.createElement('div');
  29. ball.textContent = item;
  30. box.append(ball);
  31. });
  32. </script>
  33. <style>
  34. .box {
  35. display: grid;
  36. grid-template-columns: repeat(auto-fill, 30px);
  37. grid-auto-rows: 30px;
  38. gap: 5px;
  39. }
  40. .box>div {
  41. border-radius: 50%;
  42. display: grid;
  43. place-items: center;
  44. background-color: red;
  45. color: white;
  46. box-shadow: 2px 2px 2px #666;
  47. }
  48. .box>div:last-of-type {
  49. background-color: blue;
  50. }
  51. </style>
  52. </body>

2.选项卡

  1. function show(){
  2. // 事件绑定者
  3. //console.log(event.currentTarget);
  4. //事件主体
  5. //console.log(event.target);
  6. const ul = event.currentTarget;
  7. const li = event.target;
  8. // 1. 将原高亮的标签去掉active,并把当前的标签设置为active
  9. [...ul.children].forEach(li=>
  10. li.classList.remove('active'));
  11. li.classList.add('active');
  12. // 2. 根据标签的data-index进行查询,获取与它对应的列表
  13. const content = document.querySelectorAll('.content');
  14. content.forEach(li=>li.classList.remove('active'));
  15. [...content].find(ul=>ul.dataset.index === li.dataset.index ).classList.add('active');
  16. }

3.购物车

相关推荐
阅读 +