显示任何结构的数组对象数据【向上自动滚动】

显示任何结构的数组对象数据

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>地图编辑软件 - 数据展示</title><style>@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');body {font-family: 'Share Tech Mono', monospace;margin: 0;padding: 0;background-color: #121212;background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="none" stroke="%23333" stroke-width="1" opacity="0.3"/><path d="M0,0 L100,100 M100,0 L0,100" stroke="%23aaa" stroke-width="0.5" opacity="0.2"/><path d="M10,10 Q50,30 90,10 Q70,50 90,90 Q50,70 10,90 Q30,50 10,10 Z" stroke="%23ccc" stroke-width="1" fill="none" opacity="0.3"/><path d="M20,20 Q60,40 80,20 Q70,60 80,80 Q40,60 20,80 Q30,40 20,20 Z" stroke="%23ddd" stroke-width="0.8" fill="none" opacity="0.2"/></svg>'),linear-gradient(to bottom, rgba(18,18,18,0.9), rgba(40,40,40,0.7));color: #e0e0e0;line-height: 1.8;text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased;position: relative;}h1 {color: #e0e0e0;text-align: center;font-size: 3.5rem;margin: 30px 0;text-shadow: 0 0 10px rgba(255,255,255,0.7), 0 0 20px rgba(0,150,255,0.5);border-bottom: 3px solid #555;padding-bottom: 20px;letter-spacing: 4px;font-weight: 800;line-height: 1.3;background: linear-gradient(to right, transparent, rgba(100,100,100,0.2), transparent);font-family: 'Orbitron', sans-serif;position: relative;border-image: linear-gradient(to right, #333, #666, #333) 1;}h1::before, h1::after {content: "⚙";position: absolute;top: 50%;transform: translateY(-50%);color: #aaa;font-size: 2.5rem;text-shadow: 0 0 15px rgba(0,150,255,0.7);opacity: 0.8;}h1::before {left: 10%;}h1::after {right: 10%;}h2 {color: #aaa;font-size: 2.4rem;margin: 20px 0;border-left: 5px solid #555;padding-left: 15px;text-shadow: 0 0 8px rgba(0,150,255,0.5);letter-spacing: 1px;font-weight: 700;line-height: 1.4;font-family: 'Orbitron', sans-serif;border-image: linear-gradient(to bottom, #333, #666, #333) 1;}#data-container {max-width: 1200px;margin: 0 auto;padding: 30px;background-color: rgba(30, 30, 30, 0.85);box-shadow: 0 0 25px rgba(0,150,255,0.3), inset 0 0 30px rgba(100,100,100,0.3);border: 2px solid #555;border-radius: 5px;position: relative;overflow-y: auto;height: 80vh;border-image: linear-gradient(to right, #333, #666, #333) 1;scrollbar-width: thin;scrollbar-color: #555 #333;}#data-container::-webkit-scrollbar {width: 10px;height: 10px;}#data-container::-webkit-scrollbar-track {background: rgba(30, 30, 30, 0.5);border-radius: 5px;}#data-container::-webkit-scrollbar-thumb {background-color: #555;border-radius: 5px;border: 1px solid rgba(0,150,255,0.3);}#data-container::-webkit-scrollbar-thumb:hover {background-color: #666;box-shadow: inset 0 0 5px rgba(0,150,255,0.5);}#data-container::before {content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M10,10 C30,5 70,5 90,10 C95,30 95,70 90,90 C70,95 30,95 10,90 C5,70 5,30 10,10 Z" stroke="%23aaa" stroke-width="0.5" fill="none" opacity="0.2"/><path d="M20,20 C40,15 60,15 80,20 C85,40 85,60 80,80 C60,85 40,85 20,80 C15,60 15,40 20,20 Z" stroke="%23ccc" stroke-width="0.8" fill="none" opacity="0.3"/><path d="M30,30 C50,25 70,25 70,30 C75,50 75,70 70,70 C50,75 30,75 30,70 C25,50 25,30 30,30 Z" stroke="%23ddd" stroke-width="0.6" fill="none" opacity="0.2"/><path d="M40,40 C60,35 80,35 80,40 C85,60 85,80 80,80 C60,85 40,85 40,80 C35,60 35,40 40,40 Z" stroke="%23eee" stroke-width="0.4" fill="none" opacity="0.1"/></svg>');pointer-events: none;}table {border-collapse: separate;width: 100%;margin: 20px 0;border: none;border-spacing: 0;background: rgba(40, 40, 40, 0.7);}th, td {border: none;border-bottom: 1px solid rgba(100,100,100,0.3);padding: 12px;text-align: left;font-size: 1.1rem;line-height: 1.8;letter-spacing: 0.3px;text-shadow: 0 0 5px rgba(0,150,255,0.3);position: relative;}/* td:first-child {width: 10%;min-width: 20px;} */th::after, td::after {content: '';position: absolute;bottom: -1px;left: 0;right: 0;height: 1px;background: linear-gradient(to right, transparent, rgba(0,150,255,0.5), transparent);}th {background: linear-gradient(to right, #333, #555, #333);color: #fff;font-weight: bold;text-shadow: 0 0 10px rgba(0,150,255,0.5);}tr:nth-child(even) {background-color: rgba(60, 60, 60, 0.1);}tr:hover {background-color: rgba(80, 80, 80, 0.3);box-shadow: inset 0 0 10px rgba(0,150,255,0.2);}</style>
</head>
<body><h1>王朝数据展示</h1><div id="data-container"></div><script>fetch('data.json').then(response => response.json()).then(data => {const container = document.getElementById('data-container');container.innerHTML = createTable(data);// 自动滚动功能let scrollInterval;function startAutoScroll() {let scrollStep = 2;scrollInterval = setInterval(() => {container.scrollTop += scrollStep;if(container.scrollTop >= container.scrollHeight - container.clientHeight) {container.scrollTop = 0;}}, 20);}startAutoScroll();// 添加鼠标悬停暂停功能container.addEventListener('mouseenter', () => {clearInterval(scrollInterval);});container.addEventListener('mouseleave', () => {startAutoScroll();});}).catch(error => {console.error('加载数据出错:', error);document.getElementById('data-container').innerHTML = '<p>加载数据出错,请检查控制台</p>';});function createTable(data) {let html = '';for (const category in data[0]) {html += `<h2>${category}</h2>`;html += createSubTable(data[0][category]);}return html;}function createSubTable(obj) {if (typeof obj !== 'object' || obj === null) {return `<p>${obj}</p>`;}let html = '<table>';for (const key in obj) {html += '<tr>';html += `<td><strong>${key}</strong></td>`;html += `<td>${formatValue(obj[key])}</td>`;html += '</tr>';}html += '</table>';return html;}function formatValue(value) {if (Array.isArray(value)) {if (value.length > 0 && typeof value[0] === 'object') {return value.map(obj => createSubTable(obj)).join('<br>');}return value.join(', ');} else if (typeof value === 'object' && value !== null) {return createSubTable(value);}return value;}</script>
</body>
</html>

数据data.json

[{"王朝":[{"朝代": "夏","建立时间": "约公元前2070年","结束时间": "约公元前1600年","开国皇帝": "禹","都城": "阳城(今河南登封)"},{"朝代": "商","建立时间": "约公元前1600年","结束时间": "约公元前1046年","开国皇帝": "汤","都城": "殷(今河南安阳)"},{"朝代": "西周","建立时间": "约公元前1046年","结束时间": "约公元前771年","开国皇帝": "周武王姬发","都城": "镐京(今陕西西安)"},{"朝代": "东周","建立时间": "约公元前770年","结束时间": "公元前256年","开国皇帝": "周平王姬宜臼","都城": "洛邑(今河南洛阳)"},{"朝代": "秦","建立时间": "公元前221年","结束时间": "公元前207年","开国皇帝": "嬴政","都城": "咸阳(今陕西咸阳)","备注": "中国首个大一统王朝,推行郡县制与书同文"},{"朝代": "西汉","建立时间": "公元前202年","结束时间": "公元8年","开国皇帝": "刘邦","都城": "长安(今陕西西安)"},{"朝代": "东汉","建立时间": "公元25年","结束时间": "公元220年","开国皇帝": "刘秀","都城": "洛阳(今河南洛阳)"},{"朝代": "唐","建立时间": "公元618年","结束时间": "公元907年","开国皇帝": "李渊","都城": "长安(今陕西西安)","备注": "鼎盛时疆域达1200万平方公里,长安为国际文化中心"},{"朝代": "元","建立时间": "公元1271年","结束时间": "公元1368年","开国皇帝": "忽必烈","都城": "大都(今北京)","备注": "疆域最大王朝(1400-2000万平方公里),首次将西藏纳入版图"},{"朝代": "明","建立时间": "公元1368年","结束时间": "公元1644年","开国皇帝": "朱元璋","都城": "南京→北京","备注": "鼎盛疆域约997万平方公里,设奴儿干都司管辖黑龙江流域"},{"朝代": "清","建立时间": "公元1636年","结束时间": "公元1912年","开国皇帝": "皇太极","都城": "北京","备注": "奠定近代中国版图(1316万平方公里),19世纪丧失400万平方公里领土"}]
}
]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPIO模式详解

一、GPIO的八种模式 GPIO支持4种输入模式&#xff08;浮空输入、上拉输入、下拉输入、模拟输入&#xff09;和4种输出模式&#xff08;开漏输出、开漏复用输出、推挽输出、推挽复用输出&#xff09;。 GPIO_Mode_AIN模拟输入GPIO_Mode_IN_FLOATING浮空输入GPIO_Mode_IPD下拉输…

django rest_framework 自定义403 Forbidden错误页面

django本来有是可以很方便自定义HTTP错误页面的&#xff0c;网上资料一大把。核心是在项目的urls代码中增加handler403的定义&#xff0c;比如&#xff1a; handler403 "app.views.your_custom_view" 404&#xff0c;500都是一样的&#xff0c;重新定义handler404…

Kafka Streams架构深度解析:从并行处理到容错机制的全链路实践

在流处理技术领域&#xff0c;Kafka Streams以其轻量级架构与Kafka生态的深度整合能力脱颖而出。作为构建在Kafka生产者/消费者库之上的流处理框架&#xff0c;它通过利用Kafka原生的分区、副本与协调机制&#xff0c;实现了数据并行处理、分布式协调与容错能力的无缝集成。本文…

【嵌入式硬件实例】-555定时器控制舵机/伺服电机

555定时器控制舵机/伺服电机 文章目录 555定时器控制舵机/伺服电机1、555定时器介绍2、舵机/伺服电机介绍3、硬件准备与接线使用 555 定时器 IC 的伺服电机控制器和测试仪电路是一个简单的电路,可用于生成操作伺服电机所需的控制信号。该电路允许我们通过按下按钮手动驱动/控制…

国产麒麟 安装可视化数据库软件DBeaver(图解)

目录 ​​​​​​​​编辑DBeaver介绍 官网 通过强制使用 Ubuntu 模板来修复 add-apt-repository 重新添加 PPA 撤销更改&#xff08;可选&#xff09; 官网直接下载 DBeaver CE 下载好后安装软件 启动方式一 启动方式二 启动成功 在左侧右击新建连接 安装驱动 测…

线程池 JMM 内存模型

线程池 & JMM 内存模型 文章目录 线程池 & JMM 内存模型线程池线程池的创建ThreadPoolExecutor 七大参数饱和策略ExecutorService 提交线程任务对象执行的方法&#xff1a;ExecutorService 关闭线程池的方法&#xff1a;线程池最大线程数如何确定&#xff1f; volatile…

[论文阅读] 软件工程 + 教学 | 软件工程项目管理课程改革:从传统教学到以学生为中心的混合式学习实践

软件工程项目管理课程改革&#xff1a;从传统教学到以学生为中心的混合式学习实践 论文信息 arXiv:2506.14369 Agile and Student-Centred Teaching of Agile/Scrum Concepts Maria Spichkova Comments: Preprint. Accepted to the 29th International Conference on Knowledg…

Windows系统提示“mfc140u.dll丢失”?详细修复指南,一键恢复程序运行!

当你兴致勃勃地打开某个游戏或专业软件时&#xff0c;突然弹出一条错误提示——“MFC140u.dll丢失”&#xff0c;程序直接闪退&#xff0c;让人无比沮丧。别担心&#xff01;这个问题并不复杂&#xff0c;通常只需重新安装运行库或修复系统文件即可解决。本文将为你提供详细的修…

云XR(AR/VR)算力底座关键特征与技术路径

云XR&#xff08;AR/VR&#xff09;算力底座是支撑扩展现实技术规模化落地的核心基础设施&#xff0c;当前发展呈现以下关键特征与技术路径&#xff1a; 一、算力架构&#xff1a;云边端协同异构融合 分布式部署模式‌ 云端‌&#xff1a;承担高复杂度渲染与大数据处理&#x…

Android开发常用adb合集

Android开发常用adb合集 Android开发常用adb合集crash日志导出 Android开发常用adb合集 crash日志导出 bugreport: adb bugreportdropbox: adb shell dumpsys dropbox --print > desktop/full_dropbox_logs.txt

LTspice仿真4——exp指数函数波形

参数设置 Vinitial&#xff1a;初始电压值 Vpulsed&#xff1a;脉冲达到值 Rise Delay&#xff1a;上升延迟时间 Rise Tau&#xff1a;上升指数系数tau Fall Delay&#xff1a;下降延迟时间 Fall Tau&#xff1a;下降指数系数tau tau决定指数波形下降或者上升快慢&#x…

[Java 基础]集合框架

在 Java 中&#xff0c;我们经常需要存储和操作一组数据&#xff0c;而集合框架就是为此而生。它提供了一套统一的接口和类&#xff0c;帮助我们高效地管理各种数据集合。 常用的集合框架中的类只有 ArrayList、LinkedList、HashSet、HashMap 这 4 个&#xff0c;这些类的继承…

SQL关键字三分钟入门:WITH —— 公用表表达式让复杂查询更清晰

在实际的数据库开发和分析中&#xff0c;我们常常会遇到复杂的多层嵌套查询&#xff0c;这样的 SQL 语句不仅难以阅读&#xff0c;也容易出错。 这时候就需要使用一个非常实用又优雅的关键字 —— WITH&#xff01; 它可以帮助我们将复杂的子查询提取出来并命名&#xff0c;从…

要在 Linux 不联网服务器 上部署并运行 Gitee 上的 vue-vben-admin 项目,并且该项目使用的是 pnpm 管理依赖

目录 ✅ 目标&#xff1a;在不联网服务器中成功运行 vue-vben-admin &#x1f449; 你需要的最终环境&#xff1a; ✅ 场景&#xff1a;完全离线部署并运行开发/构建环境 &#x1f9f1; 步骤总览&#xff1a; &#x1f6e0; 详细操作流程 ✅ 第 1 步&#xff1a;联网机器准…

中国风国潮通用PPT模版

中国风答辩总结汇报类通用PPT模版&#xff0c;古风PPT通用模版&#xff0c;国学精品PPT模版&#xff0c;中国风韵PPT模版 中国风国潮通用PPT模版&#xff1a;https://pan.quark.cn/s/59cea717fe8d

【nvidia-H100-ib排障实战2】:服务器 InfiniBand 网络性能问题深度分析

目录 InfiniBand 网络性能日志: 实际生产服务器 InfiniBand 网络性能问题深度分析 一、核心问题定位:mlx5_1 设备性能异常 二、问题详细分析 1. mlx5_1 设备异常原因推测 (1)硬件连接故障 (2)驱动或固件问题 (3)资源争用或配置错误 2. CPU 频率不一致问题 三…

Postgresql中不同数据类型的长度限制

目录 一、字符类型&#xff08;Character Types&#xff09; 二、二进制类型&#xff08;Binary Types&#xff09; 三、数值类型&#xff08;Numeric Types&#xff09; 四、其他类型 五、全局限制&#xff1a;单行数据总大小 示例对比表 注意事项 验证命令 在 Postgr…

Unity Hub 新建项目,启动 Unity 闪退的解决办法

问题&#xff1a; Win11: Unity 闪退&#xff0c;提示 Could not connect project 原因 这是 Firewall & network protection 在作怪&#xff0c;真的我感觉 Windows Defender 就从来没干过好事&#xff0c;那个遍地是病毒的年代微软你不搞个杀毒软件&#xff0c;现在…

学习打卡---回溯

回溯&#xff0c;所有回溯都可以转换成树形结构进行解决 我们将树形结构分为纵向和横向两个方面 递归是纵向循环&#xff0c;也就是纵向方面&#xff0c;到了叶子节点就收网回溯 循环是横向循环&#xff0c;也就是横向方面&#xff0c;到了数组末尾就结束 回溯属于是将二叉树的…

阿里云获取DASHSCOPE_API_KEY教程,以及配置DASHSCOPE_API_KEY环境变量

要获取阿里云的 DASHSCOPE_API_KEY&#xff08;通义千问API密钥&#xff09;&#xff0c;需要在阿里云平台上完成开通服务和创建密钥的流程。以下是具体步骤&#xff1a; 1. 开通通义千问API服务 登录阿里云账号 访问 阿里云官网&#xff0c;使用账号密码或RAM用户登录。 进入…