使用原生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 相关文章推荐
javascript 函数速查表
Feb 07 Javascript
jquery动态增加text元素以及删除文本内容实例代码
Jul 01 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
jquery无法设置checkbox选中即没有变成选中状态
Mar 27 Javascript
javascript设置连续两次点击按钮时间间隔的方法
Oct 28 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
Bootstrap简单表单显示学习笔记
Nov 15 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
Vue中定义全局变量与常量的各种方式详解
Aug 23 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
Nov 26 Javascript
vue中父子组件的参数传递和应用示例
Jan 04 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 session 检测和注销
2009/03/16 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
克隆javascript对象的三个方法小结
2011/01/12 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
python日志记录模块实例及改进
2017/02/12 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
如何编写python的daemon程序
2021/01/07 Python
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
大学生个人自我鉴定
2013/12/03 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
青春奉献演讲稿
2014/05/08 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
企业党建工作总结2015
2015/05/26 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
Nginx安装配置详解
2022/06/25 Servers
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android