用代码给孩子造“钱”

起因

作为家里有两个娃的奶爸,时长为了孩子乱花钱而焦虑不已。然后最近看到一段短视频说了这么段话。

父母不要被动给孩子买东西,而是定期给孩子钱。让孩子自己管钱培养她对于钱的认知和理财的观念。

突然感觉大师我悟了。感觉值得一试。于是就打算给他们一些钱,以后想买什么玩具都花他们自己的钱。但是发真钱呢怕她们乱丢,而且说真的家里真没啥现金,于是就有了做代币的想法。

做法

一开始打算用 word 来做代币进行打印的,结果发现想实现点复杂的效果就很麻烦…………还不如发挥传统艺能直接用网页来搞,感觉作为前端写 HTML 和 CSS 实现界面可要比 Word、PPT、PS 快多了……)。

代码

其实可以用纯 DOM 来写的,但还是感觉用 Vue 写更顺手,反正也就插个 /vue.global.js 文件的事儿。

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <meta http-equiv="Expires" content="0" />

    <title>Money</title>

    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <style>
      html {
        padding: 0;
        margin: 0;
      }

      body {
        padding: 0;
        margin: 0;
        height: 100vh;
      }

      .money {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
      }

      .money-item {
        position: relative;
        width: 28%;
        height: 80px;
        padding: 10px;
        margin: 2px;
        border: solid 1px #000;
        border-radius: 5px;
        background: #fff;
        text-align: right;
      }

      .money-item-title {
        font-size: 16px;
        line-height: 20px;
      }

      .money-item-value {
        font-size: 32px;
        line-height: 40px;
        -webkit-text-stroke: 1px black;
        -webkit-text-fill-color: transparent;
        color: #fff;
      }

      .money-item-key {
        font-size: 12px;
        line-height: 20px;
      }

      .money-item-img {
        width: 100px;
        height: 80px;
        position: absolute;
        top: 10px;
        left: 10px;
      }
    </style>
  </head>

  <body>
    <div id="app">
      <div class="money">
        <div v-for="index in amount" class="money-item">
          <div class="money-item-title">奶昔布丁代币</div>
          <div class="money-item-value">{{ value }}</div>
          <div class="money-item-key">NO.{{ genMoneyKey(index) }}</div>
          <img class="money-item-img" src="./100.png" />
        </div>
      </div>
    </div>

    <script>
      String.prototype.hashCode = function () {
        var hash = 0,
          i,
          chr;
        if (this.length === 0) return hash;
        for (i = 0; i < this.length; i++) {
          chr = this.charCodeAt(i);
          hash = (hash << 5) - hash + chr;
          hash |= 0; // Convert to 32bit integer
        }
        return hash;
      };

      const { createApp } = Vue;

      createApp({
        data() {
          return {
            value: 100,
            amount: 27,
          };
        },
        methods: {
          genMoneyKey(index) {
            const time = new Date().getTime();
            return time + "-" + index;
          },
        },
      }).mount("#app");
    </script>
  </body>
</html>

效果图

界面上,由于是给孩子们的代码,自然要来点卡通元素的图片。而在货币面值的数字上,用到了 -webkit-text-stroke-webkit-text-fill-color 做了一个镂空的效果。最后用时间戳当做代币唯一编码。看着就想那么回事儿了。

image

最后

用 chrome 打开 .html 文件,使用浏览器的打印功能将代币打印出来就大功告成了。后面就可以剪开来给孩子们发“钱”啦~

技术实现上其实完全没啥难度,反倒是其他方面有些感悟:

  • 技术开发不止是用来工作的工具,也可以用到日常生活中。
  • 我经常在遇到一些问题、或者在用一些软件的时候在想:这个问题我可不可以用代码来提高效率?我是不是可以自己用代码实现这个功能?感觉前端可以折腾的事儿还挺多的。
  • 因兴趣而写的代码虽然没有产生经济利益,但是很有趣,也会在将脑中一个个想法实现的过程中收获心流和成就感。

总之,享受代码给我们带来的超能力吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/569431.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【爬虫】多线程爬取图片

多线程爬虫 多线程爬虫概述1.1 多线程的优势1.2 多线程的挑战 设计多线程爬虫1.1 项目设计1.2 项目流程1.3注意事项 总结 多线程爬虫概述 在当今信息爆炸的时代&#xff0c;网络爬虫&#xff08;Web Scraper&#xff09;已成为获取和分析网络数据的重要工具。而多线程爬虫&…

【树莓派学习】开发环境配置

【树莓派学习】开发环境配置 ​ Raspberry Pi OS作为基于Linux的系统&#xff0c;其默认网络配置在国内的网络环境下容易出现访问慢甚至无法连接等问题&#xff0c;不便于我们的学习&#xff0c;同时&#xff0c;树莓派上C/C的使用需要单独安装WiringPi。本文主要介绍如何更改…

蓄能勃发,酷开科技携酷开系统“软硬结合”提升大屏实力

智慧大屏以全新媒体形态之姿在过去几年快速增长&#xff0c;截至去年上半年&#xff0c;国内联网电视总量覆盖达5.26亿&#xff0c;其中智能电视终端活跃量达3.22亿&#xff0c;在PC、Mobile流量增长已显疲态的背景下&#xff0c;大屏的高速发展意味着一个新的赛道的崛起&#…

使用甘特图来做时间管理

在这个追求效率的时代,掌握高超的时间管理技能几乎等同于掌控了成功。事实上,时间就是金钱,更是稀缺资源。那么,如何高效地规划和利用时间呢?甘特图应该是您的必备武器之一。 甘特图(Gantt chart)名字虽然有些陌生,但它的使用范围确实广泛。无论是全职妈妈安排家务,还是上市公…

蓝桥杯-网络安全-练习题-crypto-rsa

共模攻击 直接脚本即可 import libnum import gmpy2import random random.seed(123456)e1 random.randint(100000000, 999999999) print(e1) e2 65537 n 7265521127830448713067411832186939510560957540642195787738901620268897564963900603849624938868472135068795683…

低代码技术的全面应用:加速创新、降低成本

引言 在当今数字化转型的时代&#xff0c;企业和组织面临着不断增长的应用程序需求&#xff0c;以支持其业务运营和创新。然而&#xff0c;传统的软件开发方法通常需要大量的时间、资源和专业技能&#xff0c;限制了企业快速响应市场变化和业务需求的能力。在这样的背景下&…

VS窗口固定尺寸的方法

Dialog每次都要找窗口尺寸固定的设置&#xff0c;因此在这个地方做个笔记 下次就好检索了。年级大了 脑子不够用了。

vben admin Table 实现表格列宽自由拖拽

更改BasicTable.vue文件 Table添加 resize-column“resizeColumn” 添加并 return resizeColumn const resizeColumn (w, col) > { setCacheColumnsByField(col.dataIndex, { width: w }); }; 在column中添加 resizable: true,

jackson.dataformat.xml 反序列化 对象中包含泛型

重点&#xff1a; JacksonXmlProperty localName 指定本地名称 JacksonXmlRootElement localName 指定root的根路径的名称&#xff0c;默认值为类名 JsonIgnoreProperties(ignoreUnknown true) 这个注解写在类上&#xff0c;用来忽略在xml中有的属性但是在类中没有的情况 Jack…

书籍发售:七个阶段,让你详细了解“有书共读”的完整发售流程

有书共读发售流程 你要在本子上画一个流程或者是导图上。 首先整个过程分成7个阶段: 第1个:预告阶段, 第2个:售书阶段, 第3个:发货阶段, 第4个:共读阶段, 第5个:发售阶段, 第6个:售卖周期, 第7个:发售结束, 一共7个阶段,最重要的是前5个阶段,第6和7个…

边缘计算是什么?

一、边缘计算是什么&#xff1f; 边缘计算是一种分布式计算范式&#xff0c;它将计算任务和数据存储从中心化的云端推向网络的边缘&#xff0c;即设备或终端&#xff0c;以提高响应速度和降低网络带宽需求。在边缘计算中&#xff0c;数据在源头附近进行处理和分析&#x…

Hadoop格式化namenode出错

​ 我们在对Hadoop进行格式化时 很有可能会出现以下错误 输入命令&#xff1a;hadoop namenode -format 报错信息&#xff1a;-bash&#xff1a;hadoop&#xff1a;command not found 我们总结的最主要原因有三个 Hadoop的环境变量是否配置 配置以后是否使其生效 vim /e…

HYBBS表白墙爆款源码!轻松搭建表白墙网站,更可一键封装成APP,让爱传递无界限

PHP表白墙网站源码&#xff0c;适用于校园内或校区间使用&#xff0c;同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装&#xff0c;只需PHP版本5.6以上即可。 通过上传程序进行安装&#xff0c;并设置账号密码&#xff0c;登录后台后切换模板&#xff0c;适配手机和PC…

其他代码题

1.阶乘累加 2.回文数 3.字典查询 4.“结构体”的应用 5.链表

凌恩病原微生物检测系统上线啦,助力环境病原微生物检测

病原微生物是指能够引起人类或动物疾病的微生物&#xff0c;包括病毒、细菌、真菌、衣原体和支原体等。病原微生物可以通过空气、体液等介质传播&#xff0c;危害人体健康&#xff0c;造成财产损失。因此&#xff0c;快速、准确地检测病原微生物对于疫情防控和保障人民生命健康…

北京筑龙当选中招协第二届招标采购数字化专业委员会执行主任单位

4月18-19日&#xff0c;中国招标投标协会&#xff08;以下简称中招协&#xff09;2024年年会在宁波召开&#xff0c;北京筑龙作为中招协理事会员单位受邀出席会议。会议期间举行了“电子招标采购专业委员会换届会议暨第二届第一次工作会议”&#xff0c;北京筑龙当选第二届招标…

Leetcode 第 393 场周赛题解

Leetcode 第 393 场周赛题解 Leetcode 第 393 场周赛题解题目1&#xff1a;3114. 替换字符可以得到的最晚时间思路代码复杂度分析 题目2&#xff1a;3115. 质数的最大距离思路代码复杂度分析 题目3&#xff1a;3116. 单面值组合的第 K 小金额思路代码复杂度分析 题目4&#xff…

探索人工智能的边界:GPT 4.0与文心一言 4.0免费使用体验全揭秘!

探索人工智能的边界:GPT与文心一言免费试用体验全揭秘! 前言免费使用文心一言4.0的方法官方入口进入存在的问题免费使用文心一言4.0的方法免费使用GPT4.0的方法官方入口进入存在的问题免费使用GPT4.0的方法前言 未来已来,人工智能已经可以帮助人们完成许多工作了,不少工作…

【FX110网】股市、汇市一年有多少个交易日?

事实上&#xff0c;作为交易者&#xff0c;重要的是要了解并非每天都是交易日。虽然金融市场在大多数工作日开放交易&#xff0c;但在某些特定情况下无法进行交易。这些非交易日可能因各种原因而发生&#xff0c;包括节假日、周末和市场休市。 通过随时了解假期、交易时间表和市…

CSS3:border-image

<!DOCTYPE html> <html><head><meta charset"utf-8"> </head><body><p>原始图片</p><img src"./images/border1.png" alt""><p>一、</p><p>border: 27px solid transp…