简单的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

相关文章

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组