首页/ mobileweb/ 拇指校友活动网 H5 移动端功能演示/ 代码预览

💻 代码预览 · 拇指校友活动网 H5 移动端功能演示

mw_social · 上传者 驰旭教育
← 返回详情
activity_detail.html · 约 4261 字符
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<div class="app">11  <div class="navbar"><span class="back" onclick="location.href='activities.html'">‹</span>12    <span class="ttl">活动详情</span></div>1314  <div class="detail-hero" id="hero"><div class="ov"></div><div class="ht" id="ht"></div></div>1516  <div class="ky" id="ky"></div>1718  <div class="sect"><div class="lab">📖 活动介绍</div><div id="desc" style="font-size:13.5px;line-height:1.7;color:#444"></div></div>1920  <div class="sect"><div class="lab">🗓️ 行程安排</div><div class="timeline" id="agenda"></div></div>2122  <div class="sect"><div class="lab">✅ 已报名校友</div>23    <div class="avatars" id="avatars"></div></div>2425  <div class="sect"><div class="lab">📷 活动相册</div><div class="pimgs" id="gallery" style="display:flex;gap:8px"></div></div>2627  <div class="sect"><div class="lab">💬 活动评论</div><div id="comments"></div></div>28</div>2930<div class="fixbar" id="fixbar"></div>3132<script src="data.js"></script>33<script src="app.js"></script>34<script>35var a = A_GET(param('id')) || ACTIVITIES[0];36document.getElementById('hero').style.background = a.grad;37document.getElementById('ht').innerHTML = '<div class="big">'+a.emoji+'</div>'+38  '<div class="dt">'+esc(a.title)+'</div><div class="ds">'+a.cat+' · '+a.tag+'</div>';39document.getElementById('ky').innerHTML =40  '<div class="k"><div class="ki">🕒</div><div><div class="kl">时间</div><div class="kv">'+a.time+'</div></div></div>'+41  '<div class="k"><div class="ki">📍</div><div><div class="kl">地点</div><div class="kv">'+a.location+'</div></div></div>'+42  '<div class="k"><div class="ki">👥</div><div><div class="kl">名额</div><div class="kv">'+a.joined+' / '+a.limit+'</div></div></div>'+43  '<div class="k"><div class="ki">💰</div><div><div class="kl">费用</div><div class="kv">'+(a.fee>0?'¥'+a.fee:'免费')+'</div></div></div>';44document.getElementById('desc').textContent = a.desc;45document.getElementById('agenda').innerHTML = a.agenda.map(function(g){46  return '<div class="tl"><div class="tt">'+g.t+'</div><div class="tx">'+esc(g.x)+'</div></div>';47}).join('');48document.getElementById('avatars').innerHTML = a.joinedNames.map(function(n,i){49  var colors=['#6366f1','#0ea5e9','#f59e0b','#10b981','#ec4899','#8b5cf6'];50  return '<div class="av" style="background:'+colors[i%colors.length]+'">'+n+'</div>';51}).join('') + '<div class="av" style="background:#eef1f5;color:#888">+'+(a.joined-a.joinedNames.length)+'</div>';52document.getElementById('gallery').innerHTML = a.gallery.map(function(e){53  return '<div class="im" style="width:72px;height:72px;border-radius:10px;background:'+a.grad+';display:flex;align-items:center;justify-content:center;font-size:34px">'+e+'</div>';54}).join('');55document.getElementById('comments').innerHTML = a.comments.map(function(c){56  return '<div class="cmt"><div class="av" style="background:#6366f1">'+c.u[0]+'</div>'+57    '<div><div class="nm">'+esc(c.u)+'</div><div class="tx">'+esc(c.t)+'</div>'+58    '<div class="lk">👍 '+c.lk+'</div></div></div>';59}).join('') || '<div class="empty">还没有评论,抢沙发~</div>';6061function renderFix(){62  var signed = isSigned(a.id);63  document.getElementById('fixbar').innerHTML = signed64    ? '<button class="btn btn-ghost btn-lg" style="flex:1" onclick="cancelSign()">已报名 · 取消</button>'+65      '<button class="btn btn-pri btn-lg" style="flex:1" onclick="showQR()">📱 签到二维码</button>'66    : '<button class="btn btn-acc btn-lg btn-block" onclick="doSign()">'+(a.fee>0?('立即报名 · ¥'+a.fee):'立即报名 · 免费')+'</button>';67}68function doSign(){69  toggleSign(a.id); toast('报名成功!已加入「我的活动」');70  var el=document.querySelector('.join'); if(el) el.textContent='已报 '+(a.joined+1)+'/'+a.limit;71  renderFix();72}73function cancelSign(){ toggleSign(a.id); toast('已取消报名'); renderFix(); }74function showQR(){ toast('请向现场工作人员出示此码签到'); }75renderFix();76</script>77</body>78</html>79