這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用jQuery怎么實(shí)現(xiàn)一個(gè)購(gòu)物車全功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)致力于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計(jì),集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過(guò)標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場(chǎng)競(jìng)爭(zhēng)中脫穎而出。 選擇成都創(chuàng)新互聯(lián),就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!HTML&&CSS:
Document
全選 | 商品名稱 | 單價(jià) | 數(shù)量 | 小計(jì) | 操作 |
---|---|---|---|---|---|
電腦 | ¥200.20 | ¥200.20 | 刪除 | ||
手機(jī) | ¥100.30 | ¥100.30 | 刪除 | ||
空調(diào) | ¥1000.99 | ¥1000.99 | 刪除 |
JS:
//里面三個(gè)小的復(fù)選按鈕選中狀態(tài)跟著 全選按鈕走 //因?yàn)閏hecked是復(fù)選框的固有屬性,此時(shí)利用prop()獲取和設(shè)置該屬性 $(function() { getSum(); $(".checkAll").change(function() { // console.log($(this).prop("checked"));//全選按鈕的狀態(tài) $(".ed,.checkAll").prop("checked", $(this).prop("checked")); getSum(); if ($(".ed,.checkAll").prop("checked")) { //如果全選,讓所有商品添加類名(背景顏色) $(".tab tbody").children().addClass("current"); } else { $(".tab tbody").children().removeClass("current"); } }) //如果所有小按鈕的個(gè)數(shù)都被選了,全選按鈕就選上,如果小按鈕沒(méi)有被選上,則全選按鈕就不選上 //:checked選擇器,查找本選中的表單元素 $(".ed").change(function() { // console.log($(".ed:checked").length);//小復(fù)選框選中的個(gè)數(shù) // console.log($(".ed").length); //console.log($(this).prop("checked")); if ($(".ed:checked").length === $(".ed").length) { $(".checkAll").prop("checked", true); } else { $(".checkAll").prop("checked", false); } getSum(); if ($(this).prop("checked")) { $(this).parents("tr").addClass("current"); } else { $(this).parents("tr").removeClass("current"); } }) $(".add").click(function() { let n = parseInt($(this).siblings(".num").val()); //console.log(n); n++; $(this).siblings(".num").val(n); let price = $(this).parent().siblings(".price").html(); price = price.substr(1); //console.log(price); $(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2)); getSum(); }) $(".sub").click(function() { let n = parseInt($(this).siblings(".num").val()); //console.log(n); if (n === 1) { return false; } n--; $(this).siblings(".num").val(n); let price = $(this).parent().siblings(".price").html(); price = price.substr(1); //console.log(price); $(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2)); getSum(); }) //用戶也可以直接修改表單num里面的值(小bug),同樣計(jì)算小計(jì) $(".num").change(function() { let n = $(this).val(); let price = $(this).parent().siblings(".price").html(); price = price.substr(1); $(this).parent().siblings(".small_total").text("¥" + (n * price).toFixed(2)); getSum(); }) function getSum() { let count = 0; //計(jì)算總件數(shù) let money = 0; //計(jì)算總價(jià)錢 $(".num").each(function(index) { if ($(".ed").eq(index).prop("checked") == true) { count += parseInt($(".num").eq(index).val()); money += parseFloat($(".small_total").eq(index).text().substr(1)); } }) $(".num_sum").html(count); $(".sum").html(money.toFixed(2)); } //刪除商品模塊 //點(diǎn)擊刪除之后一定是刪除當(dāng)前的商品,所以從$(this)出發(fā) $(".delete").click(function() { //刪除的是當(dāng)前的商品 $(this).parent().remove(); $(".ed").change(); getSum(); clearCheckAll(); }) //刪除選定的商品:小的復(fù)選框如果選中就刪除對(duì)應(yīng)的商品 $(".delSome").click(function() { //刪除的是選中的商品 $(".ed:checked").parent().parent().remove(); getSum(); clearCheckAll(); }) //清空購(gòu)物車 $(".delAll").click(function() { $(".tab tbody").empty(); getSum(); clearCheckAll(); }) function clearCheckAll() { if ($(".tab tbody")[0].innerText == '') { $(".checkAll").prop("checked", false); } } })
上述就是小編為大家分享的使用jQuery怎么實(shí)現(xiàn)一個(gè)購(gòu)物車全功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。