<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>商品加减与统计结果</title>
<script>
window.onload = function () {
var oUl = document.getElementById('list');
var aLi = oUl.getElementsByTagName('li');
var num = 0; //所有商品件数
var pay = 0; //总金额
var spe = 0; //商品最贵单价
for ( var i=0; i<aLi.length; i++ ) {
fnCount ( aLi[i] );
}
function fnCount ( li ) {
var aBtn = li.getElementsByTagName ('input');
var oStrong = li.getElementsByTagName ('strong')[0]; //个数
var oEm = li.getElementsByTagName ('em')[0]; //单价
var oSpan = li.getElementsByTagName ('span')[0]; //小计
var n = Number(oStrong.innerHTML); // '0'
var price = parseFloat(oEm.innerHTML); // 12.5
var oP = document.getElementsByTagName ('p')[0];
aBtn[0].onclick = function () {
if ( n > 0 ) {
n--;
num --;
pay = pay - price;
}
oStrong.innerHTML = n;
oSpan.innerHTML = n*price + '元';
spe = Max();
oP.innerHTML = '商品合计共:' + num + '件,共花费了:' + pay + '元' + '<br />' + '其中最贵的商品单价是:' + spe + '元';
};
aBtn[1].onclick = function () {
n++;
oStrong.innerHTML = n;
oSpan.innerHTML = n*price + '元';
num ++;
pay = pay + price;
spe = Max();
oP.innerHTML = '商品合计共:' + num + '件,共花费了:' + pay + '元' + '<br />' + '其中最贵的商品单价是:' + spe + '元';
}
};
//该函数用来判断最大单价
function Max(){
var arr = []; //定义一个数组,储存单价
var aStrong=document.getElementsByTagName('strong');
var aEm=document.getElementsByTagName('em');
for(var i=0;i<aStrong.length;i++)
if(Number(aStrong[i].innerHTML) >0) arr.push(parseFloat(aEm[i].innerHTML)); //需知innHTML获取的为字符串
spe = 0;
if(arr.length > 0) spe = arr[0];
for (var j=1;j<arr.length;j++){
if(spe < arr[j]) spe = arr[j]; //判断最大单价
}
return spe ;
};
};
</script>
</head>
<body>
<ul id="list">
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>12.5元</em>
小计:<span>0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>10.5元</em>
小计:<span>0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>8.5元</em>
小计:<span>0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>8元</em>
小计:<span>0元</span>
</li>
<li>
<input type="button" value="-" />
<strong>0</strong>
<input type="button" value="+" />
单价:<em>14.5元</em>
小计:<span>0元</span>
</li>
</ul>
<p>
商品合计共:0件,共花费了:0元<br />
其中最贵的商品单价是:0元
</p>
</body>
</html>
效果图: