JQuery實現(xiàn)的購物車功能(可以減少或者添加商品并自動計算價格)
購物車點擊可以減少或者添加商品并自動計算價格:
購物車中可能有這樣的功能,那就是點擊按鈕可以實現(xiàn)商品數(shù)量的減少或者增加,并且能夠?qū)崟r的計算出總的商品價格,下面就通過代碼實例介紹一下如何實現(xiàn)此功能,當然下面的這個模擬實現(xiàn)的購物車難登大雅之堂,但是可以從中得到一些啟發(fā)或者相關(guān)的知識點,代碼如下:
<!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>
上面的代碼實現(xiàn)了簡單的購物車功能,下面詳細介紹一下它的實現(xiàn)過程。
代碼注釋:
1.$(function(){}),當文檔結(jié)構(gòu)完全加載完畢再去執(zhí)行函數(shù)中的代碼。
2.$(".add").click(function(){}),為加號按鈕注冊click事件處理函數(shù)。
3.var t=$(this).parent().find('input[class*=text_box]'),獲取文本框,這個文本中顯示的是要購買商品的數(shù)目。
4.t.val(parseInt(t.val())+1),點擊一次商品數(shù)量加1。
5.setTotal(),執(zhí)行此函數(shù)可以計算出總的價格并且顯示。
6.$(".min").click(function(){}),為減號按鈕注冊click事件處理函數(shù)。
7.function setTotal(){},此函數(shù)可以計算出總價格并且顯示出來。
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());
});
可以遍歷文本框并乘以單價,然后進行累加,最后計算出來的總價格。
相關(guān)文章
輕松掌握jQuery中wrap()與unwrap()函數(shù)的用法
wrap()能夠?qū)⒅付℉TML元素包裹DOM結(jié)構(gòu),與之相反unwrap()函數(shù)則是將DOM去掉^^下面讓我們來以兩個小例子輕松掌握jQuery中wrap()與unwrap()函數(shù)的用法:)2016-05-05
jquery實現(xiàn)動態(tài)改變css樣式的方法分析
這篇文章主要介紹了jquery實現(xiàn)動態(tài)改變css樣式的方法,結(jié)合實例形式分析了jQuery動態(tài)操作css樣式的設(shè)置、獲取及應用等相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
jquery checkbox無法用attr()二次勾選問題的解決方法
下面小編就為大家?guī)硪黄猨query checkbox無法用attr()二次勾選問題的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07

