使用原生JS實現(xiàn)火鍋點餐小程序(面向對象思想)
本次小程序采用ES6開發(fā)標準,不會的寶寶們請先學習,再來觀看吧!
使用條件:使用ES6標準開發(fā);因為采用了Bootstrap在線,所以需要聯(lián)網(wǎng);VSCode開發(fā)工具,在本地服務器中打開。
代碼展示:
Demo.html(網(wǎng)頁),Demo.css(樣式),Test01.js(菜單類),Test02.js(循環(huán)菜單),Test03.js(增,刪操作)
下面進行一一展示:
Demo.html(網(wǎng)頁):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet"> <link rel="stylesheet" href="Demo.css" rel="external nofollow" > <script type="text/javascript" src="Test03.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col-md-6"> <table id='table1' class="table table-bordered table-striped"> <tr> <td>名稱</td> <td>價格</td> <td>圖片</td> <td>操作</td> </tr> <tbody id = 'tbody'></tbody> </table> </div> <div class="col-md-6"> <table id='table2' class="table table-bordered" style="background-color:burlywood;"> <tr> <td>名稱</td> <td>價格</td> <td>數(shù)量</td> <td>操作</td> </tr> <tbody id="tbody1"></tbody> </table> </div> </div> </div> <script type="module"> import {db_foot} from './Test02.js'; let contents = []; window.onload = function(){ for(const foots of db_foot()){ contents.push(` <tr> <td>${foots.name}</td> <td>${foots.price}</td> <td>${foots.pic}</td> <td><button value="${foots.name}" money="${foots.price}" class="btn btn-sm btn-info" οnclick="sss(this)">加入菜單</button></td> </tr> `); document.getElementById('tbody').innerHTML = contents.join(""); }; }; </script> </body> </html>
Demo.css(樣式):
*{margin: 0;padding: 0;} tr,td{ text-align:center; line-height: 20px; } td{ vertical-align: middle; }
Test01.js(菜單類):
export default class Person{ constructor(name,price,pic){ this.name = name; this.price = price; this.pic = pic; } }
Test02.js(循環(huán)菜單):
import Person from './Test01.js'; export function db_foot(){ let foots = new Array(); foots.push(new Person('魚香肉絲',100,'')); foots.push(new Person('宮保雞丁',200,'')); foots.push(new Person('菠蘿吹雪',300,'')); return foots; }
Test03.js(增,刪操作):
let contents = []; function sss(e){ var flag = true; var zhi = e.getAttribute("value"); var num = e.getAttribute("money"); var arr_tr =document.getElementById("table2").getElementsByTagName("tr"); let i; for(i=0 ; i<arr_tr.length ; i++){ var td = arr_tr[i].firstElementChild.innerHTML; //重復點菜,修改數(shù)量和金錢 if(td == zhi){ flag = false; //個數(shù) var count = arr_tr[i].firstElementChild.nextElementSibling.nextElementSibling; var sum = count.innerHTML = parseFloat(count.innerHTML) + 1; //金錢數(shù) var qian = arr_tr[i].firstElementChild.nextElementSibling.innerHTML = sum * num; break; } } if(flag){ let tbody1 = document.getElementById("tbody1"); var tr = document.createElement("tr"); //名稱 var td1 = document.createElement("td"); td1.innerHTML = `${zhi}`; //價錢 var td2 = document.createElement("td"); td2.innerHTML = `${num}`; //數(shù)量 var td3 = document.createElement("td"); td3.innerHTML = `1`; //操作 var td4 = document.createElement("td"); td4.innerHTML = `<button class="btn btn-sm btn-warning" οnclick='shanchu(this)'>刪除</button>`; //插入 tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tr.appendChild(td4); tbody1.appendChild(tr); } } //刪除 function shanchu(obj){ obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode); }
總結
以上所述是小編給大家介紹的使用原生JS實現(xiàn)火鍋點餐小程序(面向對象思想),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
使用GruntJS鏈接與壓縮多個JavaScript文件過程詳解
怎么把多個JS文件搞成一個啊,GruntJS – JavaScript多文件編譯,風格檢查,鏈接與壓縮神器,使用過程如下,有需要的朋友可以參考下,希望對大家有所幫助2013-08-08javascript中定義私有方法說明(private method)
本篇文章主要是對javascript中定義私有方法(private method)進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01擴展js對象數(shù)組的OrderByAsc和OrderByDesc方法實現(xiàn)思路
js的擴展方法是基于原型的,如Array.prototype.XXXX就是給Array擴展XXX方法,然后數(shù)組都能使用這個方法了,在對象數(shù)組里面經常有根據(jù)屬性來進行排序的,升序,降序的,下面與大家分享自己寫的一個2013-05-05