使用原生JS實(shí)現(xiàn)火鍋點(diǎn)餐小程序(面向?qū)ο笏枷耄?/h1>
更新時(shí)間:2019年12月10日 10:22:07 作者:老明宇.
這篇文章主要介紹了使用原生JS實(shí)現(xiàn)火鍋點(diǎn)餐小程序(面向?qū)ο笏枷耄?在這里小程序使用的是es6開發(fā)標(biāo)準(zhǔn),本文通過代碼展示,截圖的形式給大家介紹,需要的朋友可以參考下
本次小程序采用ES6開發(fā)標(biāo)準(zhǔn),不會的寶寶們請先學(xué)習(xí),再來觀看吧!
使用條件:使用ES6標(biāo)準(zhǔn)開發(fā);因?yàn)椴捎昧薆ootstrap在線,所以需要聯(lián)網(wǎng);VSCode開發(fā)工具,在本地服務(wù)器中打開。
代碼展示:

Demo.html(網(wǎng)頁),Demo.css(樣式),Test01.js(菜單類),Test02.js(循環(huán)菜單),Test03.js(增,刪操作)
下面進(jìn)行一一展示:
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>價(jià)格</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>價(jià)格</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;
//重復(fù)點(diǎn)菜,修改數(shù)量和金錢
if(td == zhi){
flag = false;
//個(gè)數(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}`;
//價(jià)錢
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);
}
總結(jié)
以上所述是小編給大家介紹的使用原生JS實(shí)現(xiàn)火鍋點(diǎn)餐小程序(面向?qū)ο笏枷耄?,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
-
使用GruntJS鏈接與壓縮多個(gè)JavaScript文件過程詳解
怎么把多個(gè)JS文件搞成一個(gè)啊,GruntJS – JavaScript多文件編譯,風(fēng)格檢查,鏈接與壓縮神器,使用過程如下,有需要的朋友可以參考下,希望對大家有所幫助 2013-08-08
-
javascript中定義私有方法說明(private method)
本篇文章主要是對javascript中定義私有方法(private method)進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助 2014-01-01
-
javascript實(shí)現(xiàn)導(dǎo)航欄分頁效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)導(dǎo)航欄分頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2019-06-06
-
擴(kuò)展js對象數(shù)組的OrderByAsc和OrderByDesc方法實(shí)現(xiàn)思路
js的擴(kuò)展方法是基于原型的,如Array.prototype.XXXX就是給Array擴(kuò)展XXX方法,然后數(shù)組都能使用這個(gè)方法了,在對象數(shù)組里面經(jīng)常有根據(jù)屬性來進(jìn)行排序的,升序,降序的,下面與大家分享自己寫的一個(gè) 2013-05-05
-
chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS
chrome瀏覽器不僅僅可以用來上網(wǎng),對于開發(fā)人員來說,它更像是一款強(qiáng)大的開發(fā)輔助工具。今天這篇文章給大家分享在chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS,有需要的可以參考借鑒。 2016-09-09
最新評論
本次小程序采用ES6開發(fā)標(biāo)準(zhǔn),不會的寶寶們請先學(xué)習(xí),再來觀看吧!
使用條件:使用ES6標(biāo)準(zhǔn)開發(fā);因?yàn)椴捎昧薆ootstrap在線,所以需要聯(lián)網(wǎng);VSCode開發(fā)工具,在本地服務(wù)器中打開。
代碼展示:

Demo.html(網(wǎng)頁),Demo.css(樣式),Test01.js(菜單類),Test02.js(循環(huán)菜單),Test03.js(增,刪操作)
下面進(jìn)行一一展示:
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>價(jià)格</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>價(jià)格</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;
//重復(fù)點(diǎn)菜,修改數(shù)量和金錢
if(td == zhi){
flag = false;
//個(gè)數(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}`;
//價(jià)錢
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);
}
總結(jié)
以上所述是小編給大家介紹的使用原生JS實(shí)現(xiàn)火鍋點(diǎn)餐小程序(面向?qū)ο笏枷耄?,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
使用GruntJS鏈接與壓縮多個(gè)JavaScript文件過程詳解
怎么把多個(gè)JS文件搞成一個(gè)啊,GruntJS – JavaScript多文件編譯,風(fēng)格檢查,鏈接與壓縮神器,使用過程如下,有需要的朋友可以參考下,希望對大家有所幫助2013-08-08
javascript中定義私有方法說明(private method)
本篇文章主要是對javascript中定義私有方法(private method)進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
javascript實(shí)現(xiàn)導(dǎo)航欄分頁效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)導(dǎo)航欄分頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
擴(kuò)展js對象數(shù)組的OrderByAsc和OrderByDesc方法實(shí)現(xiàn)思路
js的擴(kuò)展方法是基于原型的,如Array.prototype.XXXX就是給Array擴(kuò)展XXX方法,然后數(shù)組都能使用這個(gè)方法了,在對象數(shù)組里面經(jīng)常有根據(jù)屬性來進(jìn)行排序的,升序,降序的,下面與大家分享自己寫的一個(gè)2013-05-05
chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS
chrome瀏覽器不僅僅可以用來上網(wǎng),對于開發(fā)人員來說,它更像是一款強(qiáng)大的開發(fā)輔助工具。今天這篇文章給大家分享在chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS,有需要的可以參考借鑒。2016-09-09

