使用原生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 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
js获取鼠标点击的位置实现思路及代码
May 09 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
Aug 15 Javascript
javascript创建动态表单的方法
Jul 25 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
Bootstrap响应式表格详解
May 23 Javascript
在vue中使用v-bind:class的选项卡方法
Sep 27 Javascript
小程序实现列表删除功能
Oct 30 Javascript
js实现自定义滚动条的示例
Oct 27 Javascript
Vue ​v-model相关知识总结
Jan 28 Vue.js
vue实现拖拽进度条
Mar 01 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
怎样去阅读一份php源代码
2009/08/21 PHP
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
Python urllib3软件包的使用说明
2020/11/18 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
《诺贝尔》教学反思
2014/02/17 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
2014年基层党建工作总结
2014/11/11 职场文书
工作表扬信范文
2015/01/17 职场文书
《失物招领》教学反思
2016/02/20 职场文书
SQL Server删除表中的重复数据
2022/05/25 SQL Server