首页/ mobileweb/ 小草快批下单 H5 移动端功能演示/ 代码预览

💻 代码预览 · 小草快批下单 H5 移动端功能演示

mw_service · 上传者 驰旭教育
← 返回详情
r105/cart.html · 约 2683 字符
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"><a class="back" href="index.html">‹</a><span class="ttl">购物车</span></div>12  <div id="clist"></div>13  <div id="cbar-holder"></div>14</div>1516<script src="data.js"></script>17<script src="cart.js"></script>18<script>19function render(){20  var cart = xcGetCart();21  var box = document.getElementById('clist');22  if (!cart.length){23    box.innerHTML = '<div class="empty">购物车还是空的,去选购吧~</div>';24    document.getElementById('cbar-holder').innerHTML = '';25    return;26  }27  var h = '';28  cart.forEach(function(i){29    h += '<div class="citem">'+30      '<div class="pic" style="background:'+i.color+'">'+i.emoji+'</div>'+31      '<div class="info">'+32        '<div class="nm">'+i.name+'</div>'+33        '<div class="sp">'+i.specLabel+' · '+i.unit+'</div>'+34        '<div class="pr">'+xcFmt(i.price*i.qty)+' <span style="color:var(--muted);font-weight:400;font-size:11px">('+xcFmt(i.price)+'/件)</span></div>'+35        '<div class="rt" style="margin-top:6px">'+36          '<div class="mini-step">'+37            '<button onclick="chg(\''+i.key+'\',-1)">−</button>'+38            '<span class="n">'+i.qty+'</span>'+39            '<button onclick="chg(\''+i.key+'\',1)">+</button>'+40          '</div>'+41          '<span class="del" onclick="rm(\''+i.key+'\')">删除</span>'+42        '</div>'+43      '</div>'+44    '</div>';45  });46  box.innerHTML = h;47  var total = xcCartTotal(), n = xcCartCount();48  document.getElementById('cbar-holder').innerHTML =49    '<div class="cartbar">'+50      '<div class="ic">🧺<span class="badge" style="display:inline-block">'+n+'</span></div>'+51      '<div class="total">合计 <span>'+xcFmt(total)+'</span></div>'+52      '<button class="btn btn-ghost" onclick="saveCart()">保存</button>'+53      '<button class="btn btn-orange btn-lg" style="padding:9px 22px" onclick="checkout()">提交订单</button>'+54    '</div>';55}56function chg(key,d){ var c=xcGetCart(); c.forEach(function(i){ if(i.key===key) i.qty=Math.max(1,i.qty+d); }); xcSetCart(c); render(); }57function rm(key){ xcRemoveCart(key); render(); }58function saveCart(){ xcToast('购物车已保存(本地)'); }59function checkout(){60  var o = xcCheckout();61  if (!o){ xcToast('购物车为空'); return; }62  xcToast('下单成功!订单号 '+o.oid);63  setTimeout(function(){ location.href='orders.html'; }, 800);64}65render();66</script>67</body>68</html>69