「CSS畅想」技术传递乐趣,送给好友的解答之书

简介: 前端技术从业者与非技术好友互动第三弹,我给好友写了一本解答之书,特意为好友隐藏了一个彩蛋。

灵感来源

我最近在好友的雷区上疯狂试探,自从送了她「画饼充饥」和「千里姻缘」之后,她已经一天没有和我说话了。为了挽留我们来之不易的友谊,我准备送给她一本「解答之书」,实实在在的为她排忧解难。

解答之书要有答案内容,我就开始苦思冥想到底准备些什么答案。正好平板里正在播放近期追的剧「天才基本法」。数学,算数,数,然后我就想到了诸葛武侯的「巧连神数」,于是我准备借鉴武侯的方法。通过输入的内容的笔画算出最终的答案。

这些答案多半是让人坚定心性,不被欲望所诱惑。

在线预览

在线预览平台,可查看完整代码,并体验效果。


功能设计

  • 将问题总结成三个字进行输入;
  • 输入光标移开后获取结果;
  • 输入的文字如果存在于彩蛋数组中,直接获取结果;
  • 输入的文字如果不存在于彩蛋数组中,分别计算三个字的笔画,将第一个字的笔画乘以100,第二个字的笔画乘以10,第三个字的笔画乘以1,三个值相加之和,求数字66的余数;
  • 得到的余数其实是答案数组的索引值,所以根据这个索引值取最终的结果;
  • 将最终的结果回显到页面上。


功能实现

输入问题

为了获取比较准确的答案,我将输入的问题的长度做了限制,限制为三个字。

// 输入框值更改监听titleInput.addEventListener('blur', event=> {
titleVal=titleInput.value;
if (titleVal&&titleVal.length===3) {
// 获取答案  } else {
content.innerHTML='';
content.style.display='none';
resetBtn.style.display='none';
console.log('请输入三个字');
  }
});

获取答案

和「千里姻缘」直接通过笔划获取姻缘值的功能不同,获得解答之书的答案之前,需要进行一个公式计算。

  • 第一个字的笔画乘以100;
  • 第二个字的笔画乘以10;
  • 第三个字的笔画乘以1;
  • 三个值相加之和;
  • 求数字66的余数;
  • 所得的余数便可以到答案数组中寻找最终的结果。
vartitle1=titleVal.substring(0, 1);
vartitle2=titleVal.substring(1, 2);
vartitle3=titleVal.substring(2, 3);
vartitleCount1=!!title1.stroke() ?title1.stroke() : 1;
vartitleCount2=!!title2.stroke() ?title2.stroke() : 1;
vartitleCount3=!!title3.stroke() ?title3.stroke() : 1;
// 第一个字 乘上100 加上 第二个字 乘上10 加上 第三个字 除66varsum=titleCount1*100+titleCount2*10+titleCount3;
varres=Number(sum%dividend);
resVal=answerList[res-1];

彩蛋

答案数组我是照搬的,我发现第一个的寓意非常非常非常好,所以我把好友和她对象的名字放到了彩蛋数组中,如果她输入了自己的名字或者对象的名字,解答出来的文字,她看到之后会非常的开心。

实现也比较简单,判断彩蛋数组中是否包含当前输入的内容即可

// 彩蛋if (caidanNameList.includes(titleVal)) {
resVal=answerList[0];
}


后续

总算是将功补过,保住了自己杯子、勺子和手办。也顺利的保住了我俩的友谊,友谊地久天长。

但是好友说别想凭这句祝福就敷衍了事。她最近有点怀旧,让我送她龙珠,她的原话是:

你不是会画一些瓶瓶罐罐么,肯定也能画龙珠啊,我要凑够七颗龙珠,召唤神龙。

不说了,我去画龙珠了。

目录
相关文章
|
1月前
|
前端开发 开发者 UED
CSS不同技术的探讨
【10月更文挑战第11天】 CSS不同技术的探讨
|
1月前
|
存储 前端开发 JavaScript
CSS:现代Web设计的不同技术
【10月更文挑战第11天】 CSS:现代Web设计的不同技术
|
1月前
|
前端开发 开发者 UED
CSS技术的演变与应用
【10月更文挑战第11天】CSS技术的演变与应用
|
3月前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
53 3
|
3月前
|
存储 前端开发 安全
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
33 2
|
3月前
|
Web App开发 前端开发
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
27 2
|
3月前
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
133 0
|
Web App开发 前端开发 iOS开发
|
3月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果