首页/ mobileweb/ 小草问卷宝/ 代码预览

💻 代码预览 · 小草问卷宝

mw_tool · 上传者 小草网络
← 返回详情
小草问卷宝_H5/app.js · 约 1912 字符
1// 小草问卷宝 · 交互逻辑
2document.addEventListener('click', function (e) {
3  var t = e.target.closest('[data-toast]');
4  if (t) { toast(t.getAttribute('data-toast')); }
5  var ft = e.target.closest('.filter-tab');
6  if (ft) {
7    var wrap = ft.parentElement;
8    [...wrap.children].forEach(function (x) { x.classList.remove('sel'); });
9    ft.classList.add('sel');
10    var kw = ft.textContent;
11    var cards = document.querySelectorAll('.survey-card');
12    if (kw === '全部') { cards.forEach(function (c) { c.style.display = 'block'; }); }
13    else {
14      cards.forEach(function (c) {
15        c.style.display = c.textContent.indexOf(kw) >= 0 ? 'block' : 'none';
16      });
17    }
18  }
19  var so = e.target.closest('.sort-bar span');
20  if (so) {
21    var w = so.parentElement;
22    [...w.children].forEach(function (x) { x.classList.remove('on'); });
23    so.classList.add('on');
24  }
25  var oi = e.target.closest('.option-item');
26  if (oi) {
27    var q = oi.closest('.question-box');
28    var single = q.querySelectorAll('.option-item');
29    [...single].forEach(function (x) { x.classList.remove('sel'); });
30    oi.classList.add('sel');
31  }
32  var si = e.target.closest('.scale-item');
33  if (si) {
34    var grp = si.parentElement;
35    [...grp.children].forEach(function (x) { x.classList.remove('sel'); });
36    si.classList.add('sel');
37  }
38  var sg = e.target.closest('.sign-card .sc-btn');
39  if (sg) { sg.textContent = '今日已签 ✓'; sg.style.opacity = '.6'; toast('签到成功,积分 +1'); }
40});
41function toast(msg) {
42  var d = document.createElement('div');
43  d.style.cssText = 'position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:rgba(19,78,74,.9);color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;z-index:999';
44  d.textContent = msg;
45  document.body.appendChild(d);
46  setTimeout(function () { d.remove(); }, 1800);
47}
48