購物車點擊可以減少或者添加商品並自動計算價格:
購物車中可能有這樣的功能,那就是點擊按鈕可以實現商品數量的減少或者增加,並且能夠實時的計算出總的商品價格,下面就通過代碼實例介紹一下如何實現此功能,當然下面的這個模擬實現的購物車難登大雅之堂,但是可以從中得到一些啟發或者相關的知識點,代碼如下:
代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>博客園</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
$(".add").click(function(){
var t=$(this).parent().find('input[class*=text_box]');
t.val(parseInt(t.val())+1)
setTotal();
})
$(".min").click(function(){
var t=$(this).parent().find('input[class*=text_box]');
t.val(parseInt(t.val())-1)
if(parseInt(t.val())<0){
t.val(0);
}
setTotal();
})
function setTotal(){
var s=0;
$("#tab td").each(function(){
s+=parseInt($(this).find('input[class*=text_box]').val())
*parseFloat($(this).find('span[class*=price]').text());
});
$("#total").html(s.toFixed(2));
}
setTotal();
})
</script>
</head>
<body>
<table id="tab">
<tr>
<td>
<span>單價:</span><span class="price">1.50</span>
<input class="min" name="" type="button" value="-" />
<input class="text_box" name="" type="text" value="1" />
<input class="add" name="" type="button" value="+" /></td>
</tr>
<tr>
<td>
<span>單價:</span><span class="price">3.95</span>
<input class="min" name="" type="button" value="-" />
<input class="text_box" name="" type="text" value="1" />
<input class="add" name="" type="button" value="+" /></td>
</tr>
</table>
<p>總價:<label id="total"></label></p>
</body>
</html>
上面的代碼實現了簡單的購物車功能,下面詳細介紹一下它的實現過程。
代碼注釋:
1.$(function(){}),當文檔結構完全加載完畢再去執行函數中的代碼。
2.$(".add").click(function(){}),為加號按鈕注冊click事件處理函數。
3.var t=$(this).parent().find('input[class*=text_box]'),獲取文本框,這個文本中顯示的是要購買商品的數目。
4.t.val(parseInt(t.val())+1),點擊一次商品數量加1。
5.setTotal(),執行此函數可以計算出總的價格並且顯示。
6.$(".min").click(function(){}),為減號按鈕注冊click事件處理函數。
7.function setTotal(){},此函數可以計算出總價格並且顯示出來。
8.var s=0,聲明一個變量,此變量用來存儲總價格。
9.$("#tab td").each(function(){
s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).find('span[class*=price]').text());
});
可以遍歷文本框並乘以單價,然後進行累加,最後計算出來的總價格。