純jquery實(shí)現(xiàn)模仿淘寶購物車結(jié)算
這篇文章里,將會提到購物車?yán)锏乃泄δ?。包括全選、單選金額改變。在增加數(shù)量時金額也會相應(yīng)改變。
效果圖展示:

說下大致的思路吧:
1、首先是計算一行的價格。這個功能在上篇博客里有提到,這里就不列舉出來了。
2、遍歷選中的幾行,將每行的數(shù)值相加。
3、將值賦給總金額顯示出來。當(dāng)取消勾選或加減數(shù)量時,金額會相應(yīng)改變。
下面是具體的js部分:
<script type="text/javascript">
$(function(){
//計算總金額
function totalMoney(){
var total_price = 0;
var total_count = 0;
$(".d1-input").each(function(){
if($(this).hasClass('status')) {
var obj1 = $(this).parent().siblings(".d4").find(".count").val();//獲取一行的商品數(shù)量
total_count += parseInt(obj1);
var obj2= $(this).parent().siblings(".d5").find(".cart-price").text();//獲取一行的金額
total_price += parseInt(obj2);
}
});
$(".item").text(total_count);//將計算出的總金額顯示
$(".total").text(total_price);//將計算出的總數(shù)量顯示
}
//全選
$(".d-input").toggle( function(){
$(this).addClass("status");
$(".sc-mid-list .d1-input").addClass("status");//添加勾選樣式
$(".sc-mid-list").addClass("mouseover");
totalMoney();
},
function(){
$(this).removeClass("status");
$(".sc-mid-list .d1-input").removeClass("status");//取消勾選樣式
$(".sc-mid-list").removeClass("mouseover");
totalMoney();
});
// 單選
$(".d1-input").toggle( function(){
$(this).addClass("status");//添加勾選樣式
$(this).parents(".sc-mid-list").addClass("mouseover");
totalMoney();
},
function(){
$(this).removeClass("status");//取消勾選樣式
$(this).parents(".sc-mid-list").removeClass("mouseover");
totalMoney();
});
// 減號樣式
function count(){
$(".count").each(function(){
var num = $(this).val();
if (num == 1) {
$(this).siblings(".reduce").removeClass("two").addClass("one");
$(this).siblings(".reduce").attr("disabled","disabled");
} else {
$(this).siblings(".reduce").removeClass("one").addClass("two");
}
})//根據(jù)數(shù)量是否為1,改變減號的樣式
}
// 加
$(".sc-mid-list .add").click(function(){
var input = $(this).siblings(".count");
var obj = $(this).parents(".d4");
var per = parseFloat(obj.siblings(".d3").find(".per").text());//獲取當(dāng)前一行的單價
var num = '';
var price = '';
input.attr("value", parseInt(input.attr("value")) + 1 );//數(shù)量加1
num = input.attr("value");
price = num*per;//
obj.siblings(".d5").find(".cart-price").text(price);
count();
totalMoney();
})
// 減
$(".sc-mid-list .reduce").click(function(){
var input = $(this).siblings(".count");
var obj = $(this).parents(".d4");
var per = parseFloat(obj.siblings(".d3").find(".per").text());//獲取當(dāng)前一行的單價
var num = '';
var price = '';
var Val = parseInt(input.attr("value"));
if(Val <= 1){
Val = 2;
}
input.attr("value", parseInt(Val) - 1 );//數(shù)量減1
num = input.attr("value");
price = num*per;//
obj.siblings(".d5").find(".cart-price").text(price);
count();
})
})
</script>
jquery模仿淘寶懸掛購物車物品結(jié)算功能-附源碼下載

- jQuery實(shí)現(xiàn)購物車多物品數(shù)量的加減+總價計算
- jQuery實(shí)現(xiàn)加入購物車飛入動畫效果
- JQuery實(shí)現(xiàn)的購物車功能(可以減少或者添加商品并自動計算價格)
- jQuery實(shí)現(xiàn)購物車計算價格功能的方法
- 基于JQuery實(shí)現(xiàn)的類似購物商城的購物車
- jQuery實(shí)現(xiàn)購物車數(shù)字加減效果
- jQuery+HTML5加入購物車代碼分享
- jquery實(shí)現(xiàn)購物車基本功能
- jquery購物車結(jié)算功能實(shí)現(xiàn)方法
- jQuery實(shí)現(xiàn)購物車
相關(guān)文章
jValidate 基于jQuery的表單驗(yàn)證插件
網(wǎng)上基于jQuery的表單驗(yàn)證插件已有很多,但是這個輪子我還是繼續(xù)做一個,因?yàn)檫@個表單驗(yàn)證插件是從我以前的個人JS框架移值過來的(我已慢慢投入jQuery的懷抱),并且它的驗(yàn)證規(guī)則書寫方式也許會讓你眼前一亮。2009-12-12
jQuery EasyUI之驗(yàn)證框validatebox實(shí)例詳解
本文通過實(shí)例代碼給大家講解了jQuery EasyUI之驗(yàn)證框validatebox知識,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-04-04
jQuery文本框(input textare)事件綁定方法教程
jquery的事件綁定已經(jīng)用on替換了原來的bind,接下來為大家分享下bind的使用方法及input textare事件2013-04-04
解決jquery的.animate()函數(shù)在IE6下的問題
最近剛在項(xiàng)目里面花心思捉摸JQ,所以有些心得也及時放上來,理解不足的地方也請教下大家。2010-12-12
jQuery實(shí)現(xiàn)鼠標(biāo)跟隨提示層效果代碼(可顯示文本,Div,Table,Html等)
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)跟隨提示層效果代碼,具備顯示文本,Div,Table,Html等功能.涉及jQuery針對鼠標(biāo)事件及頁面元素的相關(guān)操作技巧,需要的朋友可以參考下2016-04-04
JQuery Jcrop 實(shí)現(xiàn)圖片裁剪的插件
非常不錯的模擬 圖片裁剪效果的實(shí)現(xiàn)代碼,文件都是腳本之家本地的,大家可以直接另存為就可以了。2009-05-05

