jQuery實(shí)現(xiàn)購物車
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下
1.描述
/* ? ? ? ? 描述: ? ? ? ? ? ? 1.點(diǎn)擊減號,input值自減,更新小計(jì),更新總計(jì) ? ? ? ? ? ? 2.點(diǎn)擊加號,input值自加,更新小計(jì),更新總計(jì) ? ? ? ? ? ? 3.點(diǎn)擊全選 設(shè)置li中的復(fù)選框按鈕狀態(tài)都為被選中狀態(tài) ? ? ? ? ? ? 4.點(diǎn)擊反選 本來被選中的復(fù)選框設(shè)為未選中,未選中的設(shè)為選中 ? ? ? ? ? ? 5.點(diǎn)擊每一個(gè)復(fù)選按鈕,更新總計(jì) ? ? ? ? ? ? 6.函數(shù)getAll用于設(shè)置總計(jì) */
2.HTML布局
<div> ? ? ? ? <button>全選</button><button>反選</button> ? ? ? ? <ul> ? ? ? ? ? ? <li> ? ? ? ? ? ? ? ? <input type="checkbox" name="" id=""> ? ? ? ? ? ? ? ? 商品1 單價(jià) <i>9.99</i> ? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button> ? ? ? ? ? ? ? ? 小計(jì): <span>0.00</span> ? ? ? ? ? ? </li> ? ? ? ? ? ? <li> ? ? ? ? ? ? ? ? <input type="checkbox" name="" id=""> ? ? ? ? ? ? ? ? 商品1 單價(jià) <i>19.99</i> ? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button> ? ? ? ? ? ? ? ? 小計(jì): <span>0.00</span> ? ? ? ? ? ? </li> ? ? ? ? ? ? <li> ? ? ? ? ? ? ? ? <input type="checkbox" name="" id=""> ? ? ? ? ? ? ? ? 商品1 單價(jià) <i>99.99</i> ? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button> ? ? ? ? ? ? ? ? 小計(jì): <span>0.00</span> ? ? ? ? ? ? </li> ? ? ? ? ? ? <li> ? ? ? ? ? ? ? ? <input type="checkbox" name="" id=""> ? ? ? ? ? ? ? ? 商品1 單價(jià) <i>999.99</i> ? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button> ? ? ? ? ? ? ? ? 小計(jì): <span>0.00</span> ? ? ? ? ? ? </li> ? ? ? ? </ul> ? ? ? ? <p>一共0件商品, 共計(jì) 0.00 元</p> </div>
3.引入jQuery文件
<script src="js/jquery.js"></script>
4.購物車實(shí)現(xiàn)
4.1 點(diǎn)擊減號,input值自減,更新小計(jì) 小計(jì):單價(jià)*數(shù)量
$('.cut').click(function () { ? ? ? ? // 獲取對應(yīng)輸入框的值 ? ? ? ? var num = $(this).next(':text').val(); ? ? ? ? // console.log(num); ? ? ? ? if (num > 0) { ? ? ? ? ? ? // 自減 ? ? ? ? ? ? num--; ? ? ? ? } ? ? ? ? // 更新輸入框的值 ? ? ? ? $(this).next(':text').val(num); ? ? ? ? // 小計(jì) ? ? ? ? var add = Number($(this).prev().text() * num).toFixed(2); ? ? ? ? $(this).nextAll('span').text(add); ? ? ? ? ? getAll(); // 總計(jì) ? ? });?
4.2. 點(diǎn)擊加號,input值加1,更新小計(jì) 小計(jì):單價(jià)*數(shù)量
$('.add').click(function () { ? ? ? ? // 獲取對應(yīng)輸入框的值 ? ? ? ? var num = $(this).prev().val(); ? ? ? ? // 自加 ? ? ? ? num++; ? ? ? ? // 更新輸入框的值 ? ? ? ? $(this).prev().val(num); ? ? ? ? // 小計(jì) ? ? ? ? var add = Number($(this).siblings('i').text() * num).toFixed(2); ? ? ? ? $(this).nextAll('span').text(add); ? ? ? ? ? getAll(); // 總計(jì) ? ? ? });
4.3 點(diǎn)擊全選 將li中的復(fù)選按鈕都設(shè)置成被選中狀態(tài) 更新總計(jì)
?$('button').eq(0).click(function () { ? ? ? ? // 所有的復(fù)選按鈕的都選中 ? ? ? ? $(':checkbox').prop('checked', true); ? ? ? ? ? getAll(); // 總計(jì) ? ? });
4.4 點(diǎn)擊反選 本來被選中的復(fù)選框設(shè)為未選中,未選中的設(shè)為選中 更新總計(jì)
$('button').eq(1).click(function () { ? ? ? ? // 遍歷每一個(gè)復(fù)選框 ? ? ? ? $(':checkbox').each(function (i, v) { ? ? ? ? ? ? // console.log(!v.cheacked); ? ? ? ? ? ? // $(v).prop('checked',!v.checked) ? ? ? ? ? ? // checked屬性進(jìn)行取反 ? ? ? ? ? ? v.checked = !v.checked; ? ? ? ? }); ? ? ? ? ? getAll(); // 總計(jì) ? ? });
4.5 點(diǎn)擊每一個(gè)復(fù)選按鈕,更新總計(jì)
$(':checkbox').click(getAll);
4.6 函數(shù)getAll用于設(shè)置總計(jì)
function getAll() { ? ? ? ? // 定義變量,分別用于存總數(shù)和總價(jià) ? ? ? ? var sum = 0; ? ? ? ? var allnum = 0; ? ? ? ? // 所有被選中的復(fù)選框 ? ? ? ? var t = $(':checkbox:checked').each(function (i, v) { ? ? ? ? ? ? // console.log(Number($(v).nextAll('span').text())); ? ? ? ? ? ? // 所有被選中的復(fù)選框小計(jì)的總和 ? ? ? ? ? ? sum += Number($(v).nextAll('span').text()); ? ? ? ? ? ? //所有被選中的復(fù)選框的輸入框值的總和 ? ? ? ? ? ? allnum += Number($(v).nextAll(':text').val()); ? ? ? ? }); ? ? ? ? // 設(shè)置p的內(nèi)容 ? ? ? ? $('p').html('<p>一共' + allnum + '件商品, 共計(jì) ' + sum.toFixed(2) + ' 元</p>'); ? ? }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery實(shí)現(xiàn)購物車多物品數(shù)量的加減+總價(jià)計(jì)算
- jQuery實(shí)現(xiàn)加入購物車飛入動(dòng)畫效果
- JQuery實(shí)現(xiàn)的購物車功能(可以減少或者添加商品并自動(dòng)計(jì)算價(jià)格)
- jQuery實(shí)現(xiàn)購物車計(jì)算價(jià)格功能的方法
- 純jquery實(shí)現(xiàn)模仿淘寶購物車結(jié)算
- 基于JQuery實(shí)現(xiàn)的類似購物商城的購物車
- jQuery實(shí)現(xiàn)購物車數(shù)字加減效果
- jQuery+HTML5加入購物車代碼分享
- jquery實(shí)現(xiàn)購物車基本功能
- jquery購物車結(jié)算功能實(shí)現(xiàn)方法
相關(guān)文章
jquery 實(shí)現(xiàn)input輸入什么div圖層顯示什么
這篇文章主要介紹jquery實(shí)現(xiàn)input輸入什么div圖層顯示什么的具體過程,需要的朋友可以參考下2014-06-06Jquery如何實(shí)現(xiàn)點(diǎn)擊時(shí)高亮顯示代碼
點(diǎn)擊時(shí)高亮顯示代碼的實(shí)現(xiàn)方法有很多,下面的示例使用jquery來實(shí)現(xiàn),需要的朋友可以了解下2014-01-01移動(dòng)節(jié)點(diǎn)的jquery代碼
節(jié)點(diǎn)的移動(dòng)在應(yīng)用中比較常見,如何動(dòng)態(tài)移動(dòng)某一節(jié)點(diǎn)來實(shí)現(xiàn)某一特殊效果,下面有個(gè)不錯(cuò)的示例,希望對大家有所幫助2014-01-01jQuery中select與datalist制作下拉菜單時(shí)的區(qū)別淺析
一般我們通常使用select制作下拉菜單,但是H5之后,datalist也可以充當(dāng)select的角色,而且兩者還有一點(diǎn)小的不同。具體區(qū)別詳解小編通過本文給簡單介紹下2016-12-12jQuery中數(shù)據(jù)緩存$.data的用法及源碼完全解析
這篇文章主要介紹了jQuery中的數(shù)據(jù)緩存$.data的用法及源碼完全解析,深入解讀了jQuery對緩存對象的讀寫和移除的實(shí)現(xiàn),需要的朋友可以參考下2016-04-04