使用原生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下function声明一些小结
Dec 28 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 Javascript
使用Jquery实现点击文字后变成文本框且可修改
Sep 21 Javascript
javascript静态页面传值的三种方法分享
Nov 12 Javascript
js二维数组定义和初始化的三种方法总结
Mar 03 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 Javascript
js实现图片无缝滚动特效
Mar 19 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
Dec 04 Javascript
详解vue express启动数据服务
Jul 05 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
vue如何使用外部特殊字体的操作
Jul 30 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
PHP生成静态页面详解
2006/11/19 PHP
抓取YAHOO股票报价的类
2009/05/15 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
PHP开发负载均衡指南
2010/07/17 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
JQuery之拖拽插件实现代码
2011/04/14 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
全面了解Python环境配置及项目建立
2016/06/30 Python
老生常谈Python基础之字符编码
2017/06/14 Python
用Python解决x的n次方问题
2019/02/08 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
python实现可变变量名方法详解
2019/07/01 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
Linux Interview Questions For software testers
2012/06/02 面试题
老师推荐信
2013/10/28 职场文书
中学生自我评价范文
2014/02/08 职场文书
《小池塘》教学反思
2014/02/28 职场文书
村庄环境整治方案
2014/05/15 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
压缩Redis里的字符串大对象操作
2021/06/23 Redis
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL