使用jQuery實(shí)現(xiàn)購物車
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下
HTML代碼
<body> <div id="goodsStore"> <table> <caption>儲(chǔ) 物 倉</caption> <thead> <tr> <td>商品編號(hào)</td> <td>商品名稱</td> <td>商品單價(jià)</td> <td>商品顏色</td> <td>商品庫存</td> <td>操作</td> </tr> </thead> <tbody> <tr> <td>2018090201</td> <td>鼠標(biāo)</td> <td>78</td> <td>黑色</td> <td>500</td> <td> <input type="button" value="加入購物車" onclick="addGoods(this);" /> </td> </tr> <tr> <td>2018090202</td> <td>鍵盤</td> <td>45</td> <td>白色</td> <td>300</td> <td> <input type="button" value="加入購物車" onclick="addGoods(this);" /> </td> </tr> <tr> <td>2018090203</td> <td>顯示器</td> <td>880</td> <td>黑色</td> <td>200</td> <td> <input type="button" value="加入購物車" onclick="addGoods(this);" /> </td> </tr> <tr> <td>2018090204</td> <td>主機(jī)</td> <td>2332</td> <td>藍(lán)色</td> <td>350</td> <td> <input type="button" value="加入購物車" onclick="addGoods(this);" /> </td> </tr> </tbody> </table> </div> <div id="goodsPay"> <table> <caption>購 物 車</caption> <thead> <tr> <td>商品編號(hào)</td> <td>商品名稱</td> <td>商品單價(jià)</td> <td>商品顏色</td> <td>購買數(shù)量</td> <td>單項(xiàng)小計(jì)</td> <td>操作</td> </tr> </thead> <tbody id="gwc"> </tbody> <tfoot> <tr> <td colspan="5">總計(jì)</td> <td colspan="2" id="sum">0</td> </tr> </tfoot> </table> </div> </body>
CSS代碼
<style> * { margin: 0; padding: 0; } div { width: 1000px; height: 350px; border: 3px solid #ccc; margin: 5px auto; overflow: auto; } table { border-collapse: collapse; width: 100%; } td { border: 1px solid black; text-align: center; height: 30px; } caption { font-size: 28px; font-weight: bold; } #gwc input[type="text"] { width: 30px; margin-left: 4px; margin-right: 4px; } #gwc input[type="button"] { width: 20px; } </style>
JavaScript代碼
<script src="jquery-1.11.1/jquery.js"></script> <script> var sum; //定義全局變量:購物車商品總計(jì) $(function() { //頁面加載完成后給全局變量賦值 sum = $("#sum"); }) function addGoods(btn) { var td = $(btn).parent(); var tr = $(td).parent(); var tds = $(tr).children(); //創(chuàng)建一個(gè)行節(jié)點(diǎn) var newTr = $("<tr></tr>"); //給行節(jié)點(diǎn)賦值 newTr.html( '<td>' + tds[0].innerHTML + '</td>' + '<td>' + tds[1].innerHTML + '</td>' + '<td>' + tds[2].innerHTML + '</td>' + '<td>' + tds[3].innerHTML + '</td>' + '<td>' + '<input type="button" value="-" onclick="reduce(this)" />' + '<input type="text" value="1" readonly />' + '<input type="button" value="+" onclick="add(this)" />' + '</td>' + '<td>' + tds[2].innerHTML + '</td>' + '<td>' + '<input type="button" value="X" onclick="deleteGoods(this);" />' + '</td>' ); //追加新節(jié)點(diǎn) $("#gwc").append(newTr); //更新總計(jì) var s = parseFloat(sum.html()); sum.html(s + parseFloat(tds[2].innerHTML)); } function add(btn) { //獲取按鈕的上一個(gè)兄弟 var txt = $(btn).prev(); txt.val(parseFloat(txt.val()) + 1); //獲取該商品的單價(jià) var price = $(btn).parent().prev().prev(); //更新總計(jì) var s = parseFloat(sum.html()); sum.html(s + parseFloat(price.html())); } function reduce(btn) { //獲取按鈕的下一個(gè)兄弟 var txt = $(btn).next(); if (parseFloat(txt.val()) == 1) { return; } txt.val(parseFloat(txt.val()) - 1); //獲取該商品的單價(jià) var price = $(btn).parent().prev().prev(); //更新總計(jì) var s = parseFloat(sum.html()); sum.html(s - parseFloat(price.html())); } function deleteGoods(btn) { //獲取當(dāng)前行 var tr = $(btn).parent().parent(); //刪除當(dāng)前行 tr.remove(); //獲取該商品的單價(jià) var price = $(btn).parent().siblings().eq(2); //更新總計(jì) var s = parseFloat(sum.html()); sum.html(s - parseFloat(price.html())); } </script>
最終效果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery實(shí)現(xiàn)的經(jīng)典豎向伸縮菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)的經(jīng)典豎向伸縮菜單效果代碼,通過jQuery響應(yīng)鼠標(biāo)事件遍歷頁面元素實(shí)現(xiàn)伸縮菜單的效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09jquery獲取div寬度的實(shí)現(xiàn)思路與代碼
DIV的width寬度如何獲取呢?接下來介紹使用jquery獲取DIV的width寬度,感興趣的朋友可以了解下的2013-01-01jQuery中slideUp 和 slideDown 的點(diǎn)擊事件
這篇文章主要介紹了jQuery中slideUp 和 slideDown 的點(diǎn)擊事件的相關(guān)資料,需要的朋友可以參考下2015-02-02基于jQuery實(shí)現(xiàn)數(shù)字滾動(dòng)效果
本文主要分享了基于jQuery實(shí)現(xiàn)數(shù)字滾動(dòng)效果的示例代碼,附源碼下載。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01jquery實(shí)現(xiàn)的table排序功能示例
這篇文章主要介紹了jquery實(shí)現(xiàn)的table排序功能,涉及基于jQuery的頁面元素屬性動(dòng)態(tài)操作及鼠標(biāo)事件響應(yīng)相關(guān)技巧,需要的朋友可以參考下2017-03-03jquery中g(shù)et,post和ajax方法的使用小結(jié)
本篇文章主要是對(duì)jquery中g(shù)et,post和ajax方法的使用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能,非常具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05jquery實(shí)現(xiàn)動(dòng)態(tài)改變div寬度和高度
這篇文章主要介紹了jquery實(shí)現(xiàn)動(dòng)態(tài)改變div寬度和高度,效果非常不錯(cuò),而且兼容性也很好,有需要的小伙伴可以參考下。2015-05-05