简单的MBTI测试的Web网页的HTML、CSS和JS代码,以及解析注释:

2023-10-15 01:04

本文主要是介绍简单的MBTI测试的Web网页的HTML、CSS和JS代码,以及解析注释:,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一个简单的MBTI测试的Web网页的HTML、CSS和JS代码,以及解析注释:

HTML代码:

<!DOCTYPE html>
<html>
<head><title>MBTI Test</title><link rel="stylesheet" type="text/css" href="style.css">
</head>
<body><div class="container"><h1>MBTI Test</h1><p>请回答以下问题:</p><form><div class="question"><p>1. 你更喜欢:</p><label><input type="radio" name="q1" value="E">A. 外向、喜欢社交</label><label><input type="radio" name="q1" value="I">B. 内向、喜欢独处</label></div><div class="question"><p>2. 你更关注:</p><label><input type="radio" name="q2" value="S">A. 具体的细节和事实</label><label><input type="radio" name="q2" value="N">B. 抽象的概念和理论</label></div><div class="question"><p>3. 你更喜欢:</p><label><input type="radio" name="q3" value="T">A. 逻辑和分析</label><label><input type="radio" name="q3" value="F">B. 情感和价值</label></div><div class="question"><p>4. 你更倾向于:</p><label><input type="radio" name="q4" value="J">A. 计划和组织</label><label><input type="radio" name="q4" value="P">B. 灵活和开放</label></div><button type="submit">提交</button></form></div><script src="script.js"></script>
</body>
</html>

CSS代码:

.container {max-width: 600px;margin: 0 auto;padding: 20px;text-align: center;
}.question {margin-bottom: 20px;text-align: left;
}

JS代码:

// 定义问题和答案的数组
var questions = [{question: "你更喜欢:",answers: [{ type: "E", content: "A. 外向、喜欢社交" },{ type: "I", content: "B. 内向、喜欢独处" }]},{question: "你更关注:",answers: [{ type: "S", content: "A. 具体的细节和事实" },{ type: "N", content: "B. 抽象的概念和理论" }]},{question: "你更喜欢:",answers: [{ type: "T", content: "A. 逻辑和分析" },{ type: "F", content: "B. 情感和价值" }]},{question: "你更倾向于:",answers: [{ type: "J", content: "A. 计划和组织" },{ type: "P", content: "B. 灵活和开放" }]}
];// 获取DOM元素
var form = document.querySelector("form");
var result = document.createElement("p");// 绑定提交事件
form.addEventListener("submit", function(event) {event.preventDefault();// 计算分数var scores = { E: 0, I: 0, S: 0, N: 0, T: 0, F: 0, J: 0, P: 0 };var answers = form.querySelectorAll("input[type='radio']:checked");for (var i = 0; i < answers.length; i++) {scores[answers[i].value]++;}// 根据分数计算MBTI类型var mbtiType = "";if (scores.E > scores.I) {mbtiType += "E";} else {mbtiType += "I";}if (scores.S > scores.N) {mbtiType += "S";} else {mbtiType += "N";}if (scores.T > scores.F) {mbtiType += "T";} else {mbtiType += "F";}if (scores.J > scores.P) {mbtiType += "J";} else {mbtiType += "P";}// 显示结果result.textContent = "您的MBTI类型为:" + mbtiType;form.appendChild(result);
});

解析注释:

这个网页包含了四个问题,每个问题有两个答案选项。用户选择答案后,点击提交按钮,会计算用户的分数,并根据分数计算出MBTI类型,最后显示在页面上。

HTML部分包含了一个标题、四个问题和一个提交按钮。每个问题包含两个答案选项,使用单选按钮实现。CSS部分定义了一些基本样式,使页面看起来更美观。

JS部分定义了一个问题和答案的数组,包含四个问题和每个问题的两个答案选项。当用户点击提交按钮时,会计算用户的分数,并根据分数计算出MBTI类型。最后,将MBTI类型显示在页面上。

计算分数的方法是通过循环遍历所有选中的单选按钮,并将选中答案的类型加到对应的分数上。计算MBTI类型的方法是通过比较每个维度的分数大小,将分数较高的选项作为MBTI类型的值。最后,将MBTI类型显示在页面上。

这篇关于简单的MBTI测试的Web网页的HTML、CSS和JS代码,以及解析注释:的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/214355

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ