Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >年度实用技巧 | 千里姻缘一线牵,送给好友的姻缘测试

年度实用技巧 | 千里姻缘一线牵,送给好友的姻缘测试

原创
作者头像
叶一一
发布于 2025-01-21 02:09:28
发布于 2025-01-21 02:09:28
14500
代码可运行
举报
文章被收录于专栏:趣学前端趣学前端
运行总次数:0
代码可运行

灵感来源

上次送给好友的礼物,她好像不是很喜欢,下班过来把我所有的勺子和吸管掰成了V型。

为了证明她在我心中的重要性,我决定重新送她一份礼物。送礼物这件事,对于一个选择困难症的人来说,是一项很大的考验。我用了一炷香的时间,思考出一个绝妙的主意。

感谢自己平时追剧比较多,我想到爱5里面的微信万年历小程序测姻缘,如果我帮好友证明她和她男友是,天生一对,举世无双,珠联璧合,佳偶天成。那么,我不就成了现代版的红娘了么。今天也为自己的机智点个赞。

码上掘金

完整代码已经放到了我的码上掘金中了,在线进行代码效果的即时预览。

我很中意这个功能,很方便,还可以发给不会代码的朋友,进行页面操作。

https://code.juejin.cn/pen/7124318646607806495

功能设计

  • 输入姓名,点击测试进入测试流程;
  • 如果是彩蛋姓名,直接得出姻缘结果。彩蛋功能是我专门设计给我好友的(为了让她开心我也是煞费苦心),这里先卖个小小的关子;
  • 如果不是彩蛋姓名,计算姓名笔划;
  • 得到笔划结果之后,计算姻缘值;
  • 最终得到姻缘结果。

功能实现

计算加载动效

这个动效早几年用的很时尚,其实实现方式很简单,一般需要两层结构实现。

  • 底部容器的宽度是固定,我用了比较深的颜色。
  • 上层容器使用的颜色要和底部容器不一样,加载效果才能明显。加载的效果通过上层容器的宽度从0到100%的动画实现的。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.loading-bg {
  width: 240px;
  height: 28px;
  border: 1px solid #f7c74a;
  background: #293a42;
  margin: 30px auto;
  position: relative;
}
.loading-bg .loading-bg-active {
  position: absolute;
  top: 0;
  left: 0;
  background: #f7c74a;
  animation: loading 5s linear;
  width: 0;
  height: 100%;
  animation-iteration-count: 1;
}
@keyframes loading {
  90% {
    width: 100%;
  }
  95% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}

计算笔划

我上网找了一下,果然被找到了大佬提供的插件cnchar,使用这个插件可以计算汉语的笔划。

在页面中引入cnchar的cdn文件。使用时很简单,需要计算的文字,调用它提供的stroke方法,汉语.stroke()就可以得到文字的笔划总和。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://fastly.jsdelivr.net/npm/cnchar/cnchar.min.js"></script>

let nameSelfCount = !!nameSelfVal.stroke() ? nameSelfVal.stroke() : 2;
let nameFavoriteCount = !!nameSelfVal.stroke() ? nameSelfVal.stroke() : 3;

计算姻缘值

实际计算很复杂,每种值都有讲究。但是我非常简单粗暴,直接两个姓名的比较值总和和数字10取余数,然后余数乘以10就是最终的姻缘值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let sum = Number(nameSelfCount) + Number(nameFavoriteCount);
fateVal = (sum % 10) * 10;

彩蛋

好友平时比较喜欢二次元纸片人,所以为了博好友一笑,我把好友喜欢的二次元纸片人的姓名专门放到了一个数组对象,如果输入的名字在这个对象中存在,姻缘值直接到100%。

当然了,彩蛋不止这一个,因为我和好友喜欢的二次元纸片人基本都一样,所以输入叶一一的名字,姻缘值也会直接到100%。因为我好友还不懂代码,所以这个功能她应该不知道。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var caidanNameList = ['于小小', '叶一一'];
var caidanList = ['叶秋', '叶修', '卫庄', '盖聂', '李泽言', '许墨', '白玉堂'];

if (caidanNameList.includes(nameSelfVal) && caidanList.includes(nameFavoriteVal)) {
  resultBox.style.display = 'block';
  resultCountNum.innerHTML = 100;
  resultName.innerHTML = nameSelfVal + ' ' + nameFavoriteVal;
}

好友与她的CP

后续

我不知道为啥好友的对象这么聪明,他用我的名字,也就是叶一一试了一下,发现和叶修、卫庄的姻缘值也是100%,我好友起初是不信的,然后她自己试了一下...

我正在藏家里的杯子,因为我好友说明天到我家,把我所有的杯子的把手全部掰断。然后我顺便把手办也藏起来了,我怕她找不到杯子,把情绪转移到手办上。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
年度实用技巧 | 技术传递乐趣,送给好友的解答之书
我最近在好友的雷区上疯狂试探,自从送了她「画饼充饥」和「千里姻缘」之后,她已经一天没有和我说话了。为了挽留我们来之不易的友谊,我准备送给她一本「解答之书」,实实在在的为她排忧解难。
叶一一
2025/01/20
1830
年度实用技巧 | 技术传递乐趣,送给好友的解答之书
年度实用技巧 | 好友想玩游戏机,画了一个套圈水机送给她
和好友闲聊,聊到上次我画的掌上游戏机,她说突然想起来还有一种游戏机是那种可以套圈圈的。我也想起来,确实有一种游戏机,但是记不清确认的名字,所以我去搜索了一下,原来它叫水压套圈游戏机,网购平台上大部分简称套圈水机。
叶一一
2025/01/22
1660
年度实用技巧 | 好友想玩游戏机,画了一个套圈水机送给她
年度实用技巧 | 当我拥有了一盏小夜灯,CSS副属性被激活了
我对系列这个词的执着来源于大学时代看小说的习惯,看书爱看系列文。于是我也喜欢把自己写的文章分分类。
叶一一
2025/02/02
1220
年度实用技巧 | 当我拥有了一盏小夜灯,CSS副属性被激活了
CSS实用技巧总结
全名Don't Repeat Yourself,该原则适用于所有编程语言而不限于css。
Nealyang
2020/04/22
1.6K0
CSS实用技巧总结
年度实用技巧 | 萤星漫舞,我用CSS绘制了一个属于夏天的回忆
萤火虫的灵感来源于我玩的一个小游戏。小游戏里面有个活动叫“萤星漫舞”,使用道具的时候,会有萤火虫闪光的特效,特别好看。
叶一一
2025/01/25
1320
年度实用技巧 | 萤星漫舞,我用CSS绘制了一个属于夏天的回忆
一根飞线的故事-SVG篇
每年春运和双十一的统计图都因为有飞线动效才更加吸引眼球,今天我要为大家带来一根漂亮飞线要用什么姿势才能生成。
苏南
2020/12/16
9800
一根飞线的故事-SVG篇
分享100 个鲜为人知的 CSS 技巧
金三银四找工作的旺季来了,在过去的一段时间里,我花了很多时间将之前的一些基础知识做了整理,希望这些内容能够帮助你在面试的时候,稍微顺利一些。因此,我将整理好的这 100 个 CSS 知识技巧分享给你,希望你会觉得太对你有用。
前端达人
2024/03/11
6800
分享100 个鲜为人知的 CSS 技巧
2021-2022设计趋势ISUX报告·日系潮玩篇
潮流玩具最初起源于日本,盛行于美国、香港,又叫艺术家玩具或设计师玩具,是玩具与艺术摆件融合的产物。谈及潮流玩具的历史,最早可以追溯到20世纪90年代的日本和中国香港。这些作品的设计往往带有一点街头、叛逆和反主流风格,并且限量生产,价格相对昂贵,因而潮流玩具的消费最初一直限于一个小圈子。 潮流玩具最初起源于日本,盛行于美国、香港,又叫艺术家玩具或设计师玩具,是玩具与艺术摆件融合的产物。谈及潮流玩具的历史,最早可以追溯到20世纪90年代的日本和中国香港。最近大火的盲盒,对于日本的消费者来说也并不陌生。
腾讯ISUX
2021/09/23
1.2K0
Vue 业务系统如何落地单元测试
一直对单测很感兴趣,但对单测覆盖率、测试报告等关键词懵懵懂懂,最近几个月一直在摸索如何在Vue业务系统中落地单元测试,看到慢慢增长的覆盖率,慢慢清晰的模块,对单元测试的理解也比以前更加深入,也有一些心得和收获。
coder_koala
2021/07/12
4.1K0
深藏在CSS里的诗情画意(十个原创的CSS特效,不容错过)
很多的碎碎念都用都用 HTML 跟 CSS 来记录在我的codepen https://codepen.io/krischan77 之上,眼见积累到了一些了,就选出几个来与大家一同分享。
陈大鱼头
2020/04/16
8020
深藏在CSS里的诗情画意(十个原创的CSS特效,不容错过)
55 个提高你 CSS 开发效率的必备片段
这篇文章会记录我们平时常用到的 CSS 片段,使用这些 CSS 可以帮助我们解决许多实际项目问题中遇到的,墙裂建议点赞收藏再看,方便日后查找? 清除浮动 浮动给我们的代码带来的麻烦,想必不需要多说,我
wscats
2020/06/06
1.4K0
适合收藏,一些CSS优化技巧!
当各种框架以及复杂的 JS 知识开始充斥着我们的工作环境时。谁还能够记得,以 CSS 来构建更加良好的用户体验,也是前端的一个重要组成部分。 所以说,今天咱们就来看看 css 的优化方案-终极合集。一共一百条,有点多,适合收藏
老K博客
2024/03/10
5680
初学前端用代码实现一个网页老虎机游戏
这个动画还是挺有意思的,但是小编第一个反应这要是哪一天某位ui姐姐或产品姐姐给小编提了这样子的需求,那小编岂不是当场要自闭?我本着自己的好奇心,实现了一个简易版的老虎机:
winty
2021/01/22
5.6K0
初学前端用代码实现一个网页老虎机游戏
年度实用技巧 | 全新体验,我用react实现网页游戏的全过程(包括规则设计)
我玩的小游戏里面有限时任务,可以解锁节日限定物品,于是那几天我玩的很欢乐很积极。我想玩一下身份转换,从玩家转换到游戏策划。一个有趣的想法在脑海中逐渐清晰。
叶一一
2025/01/26
1360
年度实用技巧 | 全新体验,我用react实现网页游戏的全过程(包括规则设计)
Web前端三剑客学习笔记
一直没有系统的学习HTML,CSS,JS都是东学一点,西学一点,想着暑假得空,便系统的学习下吧,故于此记录之。
小简
2022/12/29
2.4K0
Web前端三剑客学习笔记
深入了解——CSS3新增属性
写过 CSS 的人应该对 CSS 选择器不陌生,我们所定义的 CSS 属性之所以能应用到相应的节点上,就是因为 CSS 选择器模式。参考下述代码:
超然
2018/08/03
1.5K0
深入了解——CSS3新增属性
熬夜总结了 “HTML5画布” 的知识点(共10条)
(xStart,yStart)是线段的起点,(xEnd,yEnd)是线段终点。起点到终点之间的颜色呈渐变。
小灰
2020/08/02
7.4K0
2020年你不应该错过的CSS新特性
@argyleink在第四次的伦敦(LondonCSS 2020)CSS活动中分享了一个有关于CSS特性相关的话题。看了一下这个主题的PPT,里面有些新东西还是蛮有意思的。基于该PPT,我稍微整理近24个CSS方面的新特性,感兴趣的同学可以继续往下阅读。
童欧巴
2020/11/02
1.2K0
2020年你不应该错过的CSS新特性
个人小站折腾后记
🧑个人简介:大家好,我是 shark-Gao,一个想要与大家共同进步的男人😉😉
程序员Leo
2023/08/08
1.2K0
个人小站折腾后记
【教程】handsome主题个性化备忘录
复制这段内容并添加在前面,handsome主题可以在 开发者设置 自定义输出body 尾部的HTML代码中添加。
听闻所见
2023/08/02
1.7K0
【教程】handsome主题个性化备忘录
推荐阅读
相关推荐
年度实用技巧 | 技术传递乐趣,送给好友的解答之书
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验