小草兼职平台_H5/app.js · 约 1981 字符
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('.job-card, .review-card, .app-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 rp = e.target.closest('.rc-ops i.pass');
26 if (rp) {
27 var card = rp.closest('.review-card');
28 var st = card.querySelector('.rc-head .st');
29 st.textContent = '已通过'; st.className = 'st pass';
30 rp.parentElement.innerHTML = '<i class="view">查看详情</i>';
31 toast('审核通过,职位已上线');
32 }
33 var rj = e.target.closest('.rc-ops i.reject');
34 if (rj) {
35 var card = rj.closest('.review-card');
36 var st = card.querySelector('.rc-head .st');
37 st.textContent = '已驳回'; st.className = 'st rej';
38 rj.parentElement.innerHTML = '<i class="view">查看详情</i>';
39 toast('已驳回并通知发布人');
40 }
41});
42function toast(msg) {
43 var d = document.createElement('div');
44 d.style.cssText = 'position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:rgba(90,42,14,.9);color:#fff;padding:10px 20px;border-radius:20px;font-size:13px;z-index:999';
45 d.textContent = msg;
46 document.body.appendChild(d);
47 setTimeout(function () { d.remove(); }, 1800);
48}
49