使用原生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 相关文章推荐
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 Javascript
javascript 多级checkbox选择效果
Aug 20 Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
利用window.name实现windowStorage代码分享
Jan 02 Javascript
jQuery实现hover合成事件的方法
Aug 06 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
js实现input框文字动态变换显示效果
Aug 19 Javascript
AngularJs 60分钟入门基础教程
Apr 03 Javascript
关于Javascript中defer和async的区别总结
Sep 20 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
Dec 08 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
Dec 07 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
Python内置的字符串处理函数整理
2013/01/29 Python
MySQL最常见的操作语句小结
2015/05/07 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
python中hashlib模块用法示例
2017/10/30 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
python能做什么 python的含义
2019/10/12 Python
如何利用python进行时间序列分析
2020/08/04 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
工厂门卫岗位职责范本
2014/04/04 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
异地恋情人节寄语
2015/02/28 职场文书
写给导师的自荐信
2015/03/06 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
详解MySQL主从复制及读写分离
2021/05/07 MySQL
Python 内置函数速查表一览
2021/06/02 Python
Python3的进程和线程你了解吗
2022/03/16 Python