使用原生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 AutoScroller 函数类
May 29 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
Jan 24 Javascript
document.documentElement的一些使用技巧
Apr 18 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
div模拟滚动条效果示例代码
Oct 16 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
微信小程序实现多宫格抽奖活动
Apr 15 Javascript
详解使用React进行组件库开发
Feb 06 Javascript
vue中如何使用ztree
Feb 06 Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 Javascript
基于js判断浏览器是否支持webGL
Apr 18 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 - Html Transfer Code
2006/10/09 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
jquery 实现的全选和反选
2009/04/15 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
Django框架下在视图中使用模版的方法
2015/07/16 Python
python计算日期之间的放假日期
2018/06/05 Python
Python学习小技巧总结
2018/06/10 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
Python的形参和实参使用方式
2019/12/24 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
Python 如何测试文件是否存在
2020/07/31 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
电气技术员岗位职责
2013/11/19 职场文书
部队个人年终总结
2015/03/02 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
会议主持人开场白台词
2015/05/28 职场文书
售房协议书范本
2015/08/11 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL