基於 h5+jquery 購物車功能實踐

2020-09-03 web前端進階

最近一直忙於公司的一個新的h5項目,項目中有一個購物車模塊,使用jquery實現購物車基本結算功能。現已整理出來,感興趣的小夥伴們可以參考一下。

基本實現了單選、全選、購物車數量聯動、價格動態匯總、刪除訂單及無數據提示

購物車列表模板

實際項目中需要根據購物車商品數據動態渲染,這裡就使用靜態html展示了。

<!-- 購物車列表 --><div class=&34; id=&34;> <div class=&34;> <!-- //複選框 --> <div class=&34;><i class=&34;></i></div> <!-- //商品信息 --> <div class=&34;> <img class=&34; src=&34; /> <div class=&34;> <div class=&34;> <div class=&34;>海陵島大角灣風景區2天1晚</div> <div class=&34;>給你不一樣的風景體驗</div> </div> <div class=&34;>¥<em>199.00</em></div> </div> </div> <!-- //數量加減 --> <div class=&34;> <span class=&34; onClick=&34;>-</span> <input type=&34; value=&34; onBlur=&34; /> <span class=&34; onClick=&34;>+</span> </div> <!-- //刪除 --> <img class=&34; src=&34; /> </div> <!-- ... --></div>

購物車底部固定模板

<!-- 購物車底部 --><div class=&34; style=&34;> <div class=&34;> <div class=&34;> <div class=&34; id=&34;> <i class=&34;></i> <span>全選</span> </div> <div class=&34;>合計:<span class=&34;>¥<em id=&34;>12232.00</em></span></div> <button class=&34; id=&34;>結算 (<em id=&34;>12</em>)</button> </div> </div></div>

購物車數量

直接封裝成$.cartNum函數,通過 $.cartNum.set()$.cartNum.check(this) 調用即可。

<div class=&34;> <span class=&34; onClick=&34;>-</span> <input type=&34; value=&34; onBlur=&34; /> <span class=&34; onClick=&34;>+</span></div>

$(function(){ // 購物車數量 $.cartNum = { set: function(code, obj){ var ipt = $(obj).siblings(&34;); var cartNums = parseInt($.trim(ipt.val())); switch (code) { case 1: { cartNums++; } break; case -1: { cartNums--; } break; } ipt.val(cartNums); $.cartNum.check(ipt); getTotalPrice(); }, check: function(obj){ var o = $(obj); //數量小於0 var cartNums = parseInt($.trim(o.val())); if (cartNums <= 1) { o.val(1); o.siblings(&39;).addClass(&39;); }else { o.siblings(&39;).removeClass(&39;); } //判斷數量是否是數字 var regExp = /^[1-9]*[1-9][0-9]*$/; if (isNaN(cartNums) || !regExp.test($.trim(o.val()))) { o.val(1); o.siblings(&39;).addClass(&39;); } //數量大於庫存(假定庫存99) //var storeNums = parseInt($.trim($(&data_storeNums&39;39;); var num = $radio.size(); var k = 0; $radio.each(function(i, v) { if($(this).hasClass(&39;)) { k++; } }); if(k == num) { $(&J__chkAll&39;on&39;39;).removeClass(&39;); }}// 綁定單選$(&39;).on(&39;, &J__CartLS .cart-item__radio&39;on&39;body&39;click&39;39;, function() { if($(this).hasClass(&39;)) { $(&J__CartLS .cart-item__radio&39;on&39;39;).addClass(&39;); } $(this).toggleClass(&39;); getTotalPrice();});

價格匯總

點擊單選、全選及數量加減,都觸發 getTotalPrice 函數。

// 價格匯總getTotalPrice();function getTotalPrice() { var $cartls = $(&J__CartLS&39;.cart-ls__item&39;.cart-item__num input&39;.cart-item__num .minus&39;disabled&39;.cart-item__radio&39;on&39;.cart-item__num input&39;.g-price em&39;39;).prop(&39;, selected < 1 ? true : false); $(&J__totalPrice&39;39;).text(selected);}

刪除訂單

刪除訂單後,移除該訂單,觸發 getTotalPrice 函數,當購物車為空,則提示無數據。

// 刪除訂單$(&J__CartLS&39;click&39;.cart-item__del&39;ios&39;border-radius:12px;font-family:arial;overflow:hidden;&39;您確定要刪除該條訂單嗎?&39;取消&39;color:39;, onTap() { wcPop.close(); } }, { text: &39;, style: &e0201f&39;.cart-ls__item&39;39;).size() > 0) { $(&39;).text($(&J__CartLS .cart-ls__item&39;.J__bmBadge&39;.cart-nodata').fadeIn(); } } } ] })});

ok,以上就是基於jquery實現的購物車功能。希望對大家有所幫助,感興趣的可以參考一下。

如果大家有更優的方法,歡迎一起交流討論哈~~

相關焦點

  • 基於jQuery + bootstrap 的前端框架moa-frontend
    基於技術棧expressjadebootstrapbootstraptablejquerygulpnginx前後端分離實踐Installnpm install npm start訪問 http://127.0.0.1:3010/Features經典的 jQuery + bootstrap 簡單易用響應式,兼容移動端和pc端expressjs + jade 代碼極簡,功能強大
  • 學透jquery,最新國內11個新手項目學習資料
    3. jQuery 實現購物車功能學習之後,您可以熟練地操作jQuery來實現更多的功能。本課程基於HTML+CSS+JS+jQuery實驗網頁2048。本課程基於HTML+CSS+Javascript+jQuery實現圖像旋轉,是一個簡單的前端入門實踐項目。
  • 分享一個HTML 5的上傳jQuery插件:jQuery HTML5 uploader
    分享一個HTML 5的上傳jQuery插件:jQuery HTML5 uploader 隨著HTML5的使用越來越被大家接受,基於HTML5的技術和插件也會變得越來越廣泛,今天我們介紹一款基於HTML5和jQuery的上傳插件: jQuery HTML5 uploader。
  • jquery之父-約翰·雷西格
    然而在這三大框架之前,還有一個框架佔據了前端開發市場很長一段時間,它就是jquery。這個框架有多麼的流行,從基於它的擴展就能看出來,當時幾乎大部分js插件都是基於jquery開發的,在操作dom方面的易用性,jquery當時就是最好的。
  • 8款基於Jquery的WEB前端動畫特效
    以前我們也分享過一款基於HTML5 WebGL的水波蕩漾動畫,讓人驚嘆不已,這次分享的HTML5 Canvas水波紋動畫同樣非常震撼人心。 4.JavaScript萬年曆 帶農曆、時間和屬相等功能 之前我們分享過一款基於jQuery的萬年曆插件,功能十分強大。
  • 5款jQuery滾動效果插件
    在線演示:http://imakewebthings.github.com/jquery-waypoints/infinite-scroll/下載地址:http://imakewebthings.github.com/jquery-waypoints/jQuery滾動插件 Endless ScrollEndless Scroll
  • 基於jQuery,這六大表單向導插件首推!
    在這篇文章中,我們列出了開發者最喜歡的六大jQuery表單向導,考量了它們的不同功能以及如何創立你自己的嚮導。這不會是一個冗長的列表,如果你正在尋找一個jQuery表單向導,這一定會為你指明正確的方向。此列表在2017年8月30日更新,從列表中刪除了損壞和棄用的插件,並加入了新的插件來提供開發者要求的功能。
  • 7個jquery上手項目,github超千人star
    基於X庫的各種下拉菜單插件,原始碼帶有中文注釋,對學習jQuery插件有幫助。這個項目適用於各種場景,酷的交互和UI3. jquery-weui地址: https://github.com/lihongxun945/jquery-weuistar: 4.5kfork: 1.2k
  • 前端基礎:jQuery
    ;p&34;color&34;red&34;.jy&34;color&34;red&34;34;).css(&34;,&34;); // 併集選擇器 &34; 和 &wan&34;.jy,34;).css(&34;,&34;); // 交集選擇器,既是 h3 標籤,又擁有 &34; 的元素 $(&34;).css(&34;,&34;);</script>
  • KiahWee| TikTok聯合亞馬遜5月開通購物車功能?別信!
    晚上一位夥伴和我說,聽到別人說TikTok確定要和亞馬遜合作,推出購物車功能了,5月份就會推出來。我之前也和大家說行業裡都在傳四五月份推出購物車,經過最近的研究,我判斷基本不可能了。是的,5月份TikTok不會和亞馬遜合作,開放購物車功能。
  • github|基於jQuery+Bootstrap 4的自助建站系統
    基於jQuery+Bootstrap 4的自助建站系統:VvvebJsgithup地址:https://github.com/givanz/VvvebJs-- jquery--><script src=&34;></script><script src=&34;></script><!-- bootstrap--><script src=&34;></script><script src=&34;></script><!
  • 將收銀、結算等幾十種功能裝進購物車,超嗨打造全新智能購物車
    02 數位化轉型洪荒中,專注零售商超數位化轉型這種僅僅具有收銀結算功能的自助購物車,很快跟不上市場的需求了。在各個行業如火如荼的數位化轉型浪潮中,超嗨科技也積極進行智能購物車的技術革新,積極投身到幫助促進零售企業進行數位化轉型的浪潮中。
  • 從零做網站開發:基於Flask和JQuery實現表格管理平臺
    摘要:本文將為大家帶來基於Flask框架和JQuery實現管理平臺網站的開發功能。【寫在前面】你要開發網站? 嗯。。會Flask嗎? 什麼東西,沒聽過。。。會JQuery嗎?基於Flask框架和JQuery實現管理平臺網站的開發功能,我代碼編寫用了2天的時間 ,從零開始寫;又對具體實現流程,自己斷斷續續地整理總結了近半個月。從自我感覺來說,整個過程和結果的實現都讓我很滿意。
  • jQuery使用hide()和show()隱藏顯示元素,toggle()顯示和隱藏切換
    DOCTYPE html><html><head><title></title><script src="jquery-3.3.1.js"></script><script type="text
  • 網頁使用jQuery的泡沫圖像庫
    完整的圖像將被完全定位,但是我們將在JavaScript中設置它的最終位置:.preview img{ position:absolute; left:0; top:0; -moz-box-shadow:1px 1px 5px #111; -webkit-box-shadow:1px 1px 5px #111; box-shadow:21px 1px 5px #111;
  • jquery與js的區別是什麼?js與jquery的用法區別介紹
    在學習js的時候我們肯定能夠接觸到jquery,那麼,js與jquery之間有什麼區別呢?本篇文章將給大家來分享關於jquery與js之間的區別比較,有需要的小夥伴可以參考一下,希望能夠幫助到你們。我們來簡單看一下jquery與js的概念。
  • 拼多多也推出了購物車功能
    一直以來,拼多多相比於淘寶的一大令人關注的差異,就是購物車功能,相比於淘寶的愛我就幫我清空購物車,拼多多也一直沒有推出這個功能。如今,拼多多的購物車功能猶抱琵琶半遮面的走來了,讓我們看看他到底長什麼樣子!商家設置:打開拼多多商家後臺—店鋪營銷—營銷工具—店鋪優惠專區,就可以找到商家為店鋪設置購物車的功能了。
  • 認識jquery,jquery是什麼?
    jquery 是一個優秀的javaScript庫,是一 個由John Resig 創建於2006年1月的開源項目。現在的jquery 團隊主要包括核心庫,UI和插件等開發人員以及推廣和網絡設計維護人員。
  • 編寫jquery插件的分享
    作為一個前段程式設計師,肯定經常用到一些javascript插件吧,不得不承認,jquery是其中的比較優秀的插件之一,那麼我們有沒有想過我們自己也可以來封裝一個插件呢,下面我給大家分享一些方法,希望對大家有些幫助。
  • zencart1.57根據購物車訂單總額滿減打折優惠功能
    zen cart關於折扣的插件不少,但大部分是基於產品的,比如買多少個產品時,價格打多少折,或者是買多少個產品送多少。今天要探討的是基於訂單總金額或整個購物車產品的數量來打折。在產品詳情頁面顯示優惠方案說明加入購物車處理折扣並顯示