使用原生JS实现火锅点餐小程序(面向对象思想)


Posted in Javascript onDecember 10, 2019

本次小程序采用ES6开发标准,不会的宝宝们请先学习,再来观看吧!

使用条件:使用ES6标准开发;因为采用了Bootstrap在线,所以需要联网;VSCode开发工具,在本地服务器中打开。

 代码展示:

使用原生JS实现火锅点餐小程序(面向对象思想)

 Demo.html(网页),Demo.css(样式),Test01.js(菜单类),Test02.js(循环菜单),Test03.js(增,删操作)

 下面进行一一展示:

 Demo.html(网页):

<!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 href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" 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>数量</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(循环菜单):

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;
    //重复点菜,修改数量和金钱
    if(td == zhi){
      flag = false;
      //个数
      var count = arr_tr[i].firstElementChild.nextElementSibling.nextElementSibling;
      var sum = count.innerHTML = parseFloat(count.innerHTML) + 1; 
      //金钱数
      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}`;
    //数量
    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实现火锅点餐小程序(面向对象思想),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
如何使用jQuery来处理图片坏链具体实现步骤
May 02 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
Aug 18 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
layui数据表格 table.render 报错的解决方法
Sep 29 Javascript
vue请求服务器数据后绑定不上的解决方法
Oct 30 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
Mar 09 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
May 07 Javascript
jQuery实现动态操作table行
Nov 23 jQuery
vue祖孙组件之间的数据传递案例
Dec 07 Vue.js
JavaScript多种滤镜算法实现代码实例
Dec 10 #Javascript
vue仿淘宝滑动验证码功能(样式模仿)
Dec 10 #Javascript
vue实现随机验证码功能(完整代码)
Dec 10 #Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 #Javascript
基于vue实现图片验证码倒计时60s功能
Dec 10 #Javascript
使用Bootstrap做一个朝代历史表
Dec 10 #Javascript
JS实现拼图游戏
Jan 29 #Javascript
You might like
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
php实例分享之mysql数据备份
2014/05/19 PHP
ThinkPHP中的关联模型注意点
2014/06/16 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
php无限极分类实现方法分析
2019/07/04 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
python获取url的返回信息方法
2018/12/17 Python
python实现二维插值的三维显示
2018/12/17 Python
python实现贪吃蛇小游戏
2020/03/21 Python
简单了解python的break、continue、pass
2019/07/08 Python
Python配置文件处理的方法教程
2019/08/29 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
大数据分析用java还是Python
2020/07/06 Python
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
机械制造与自动化应届生求职信
2013/11/16 职场文书
优秀实习自我鉴定
2013/12/04 职场文书
劳资人员岗位职责
2013/12/19 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
程序员求职信
2014/04/16 职场文书
学校联谊协议书
2014/09/16 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
女儿满月酒致辞
2015/07/29 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis