首页/ mobileweb/ 小草谷子店/ 代码预览

💻 代码预览 · 小草谷子店

mw_shop · 上传者 匿名
← 返回详情
小草谷子店/gacha.html · 约 3515 字符
1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4<meta charset="UTF-8"/>
5<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
6<title>抽卡抽赏 · 小草谷子店</title>
7<link rel="stylesheet" href="style.css"/>
8</head>
9<body>
10
11<header class="header"><a class="back" onclick="history.back()">‹</a><h1>抽卡抽赏</h1><span class="right"></span></header>
12<div class="gacha-hero">
13  <div class="gh-title">🎰 谷子抽赏 · 欧气时刻</div>
14  <div class="gh-sub">单抽 ¥9.9 · 十连 ¥99(保底 B 赏以上)<br/>SP 隐藏赏稀有度拉满 · 抽中即赚,顺丰包邮</div>
15</div>
16<div class="draw-box">
17  <div class="ten-grid" id="drawGrid"></div>
18  <div class="draw-btns">
19    <div class="db single" onclick="drawOnce()">单抽 ¥9.9</div>
20    <div class="db ten" onclick="drawTen()">十连 ¥99</div>
21  </div>
22</div>
23<div class="section-title">🎁 奖池一览</div>
24<div class="pool-list" id="poolList"></div>
25<div class="section-title">📜 我的抽卡记录</div>
26<div class="records" id="gachaRecords"></div>
27<div style="height:70px"></div>
28
29
30<nav class="tabbar"><a class="" href="index.html"><span class="icon">🏠</span>首页</a><a class="" href="category.html"><span class="icon">🛍️</span>分类</a><a class=" active" href="gacha.html"><span class="icon">🎰</span>抽卡</a><a class="" href="community.html"><span class="icon">💬</span>社区</a><a class="" href="mine.html"><span class="icon">👤</span>我的</a></nav>
31<script src="data.js"></script>
32<script>
33  var pool = window.DATA.gacha.pool;
34  var grid = document.getElementById('drawGrid');
35  function fillGrid(n) {
36    var h = '';
37    for (var i = 0; i < n; i++) { h += '<div class="ten-cell"><div style="opacity:.3">?</div></div>'; }
38    grid.innerHTML = h;
39  }
40  fillGrid(10);
41  function pick(guarantee) {
42    var items = pool.filter(function (p) { return !guarantee || p.rare >= 5; });
43    var total = items.reduce(function (s, p) { return s + p.w; }, 0);
44    var r = Math.random() * total;
45    for (var i = 0; i < items.length; i++) { r -= items[i].w; if (r <= 0) return items[i]; }
46    return items[items.length - 1];
47  }
48  function renderResults(list) {
49    var h = '';
50    list.forEach(function (p) {
51      h += '<div class="ten-cell" style="border-color:' + p.color + '"><div>' + p.emoji + '</div><div class="tc-lv" style="color:' + p.color + '">' + p.lv + '</div></div>';
52    });
53    grid.innerHTML = h;
54  }
55  function drawOnce() { renderResults([pick(false)]); toast('单抽完成,看看欧不欧~'); }
56  function drawTen() {
57    var list = [];
58    for (var i = 0; i < 9; i++) list.push(pick(false));
59    list.push(pick(true));
60    renderResults(list);
61    var best = list.reduce(function (a, b) { return b.rare > a.rare ? b : a; }, list[0]);
62    toast('十连保底 B 赏以上!最高:' + best.lv);
63  }
64  var pl = document.getElementById('poolList');
65  var h2 = '';
66  pool.forEach(function (p) {
67    h2 += '<div class="pool-item"><div class="pi-emoji">' + p.emoji + '</div><div class="pi-body"><b>' + p.lv + '</b><span>' + p.name + '</span></div><div class="pi-rate">' + p.w + '/100</div></div>';
68  });
69  pl.innerHTML = h2;
70  var gr = document.getElementById('gachaRecords');
71  var h3 = '';
72  window.DATA.gacha.records.forEach(function (r) { h3 += '<div class="rc-item">📅 ' + r + '</div>'; });
73  gr.innerHTML = h3;
74</script>
75<script src="app.js"></script>
76</body>
77</html>