酷代码 AI
菜单
全部AI  /  AI写代码神器
服务商

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>全球危机雷达图</title> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2.0.0"></script> <style> body { font-family: 'Arial', sans-serif; background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d); margin: 0;

我来帮你完善这段代码。这是一个全球危机雷达图的HTML页面,已经包含了基本结构和样式,但JavaScript部分还未完成。以下是完整的实现方案: ```javascript <body> <!-- 之前的HTML代码保持不变... --> <script> // 模拟数据 - 四个年份(2020-2023)的危机数据 const crisisData = { labels: ['经济危机', '公共卫生', '地缘政治', '气候变化', '网络安全', '粮食安全'], datasets: [ { label: '2020', backgroundColor: 'rgba(255, 99, 132, 0.2)', borderColor: 'rgba(255, 99, 132, 1)', pointBackgroundColor: 'rgba(255, 99, 132, 1)', pointBorderColor: '#fff', pointHoverBackgroundColor: '#fff', pointHoverBorderColor: 'rgba(255, 99, 132, 1)', data: [85, 95, 70, 65, 60, 75] }, { label: '2021', backgroundColor: 'rgba(54, 162, 235, 0.2)', borderColor: 'rgba(54, 162, 235, 1)', pointBackgroundColor: 'rgba(54, 162, 235, 1)', pointBorderColor: '#fff', pointHoverBackgroundColor: '#fff', pointHoverBorderColor: 'rgba(54, 162, 235, 1)', data: [80, 85, 75, 70, 65, 70] }, { label: '2022', backgroundColor: 'rgba(255, 206, 86, 0.2)', borderColor: 'rgba(255, 206, 86, 1)', pointBackgroundColor: 'rgba(255, 206, 86, 1)', pointBorderColor: '#fff', pointHoverBackgroundColor: '#fff', pointHoverBorderColor: 'rgba(255, 206, 86, 1)', data: [90, 75, 85, 80, 75, 80] }, { label: '2023', backgroundColor: 'rgba(75, 192, 192, 0.2)', borderColor: 'rgba(75, 192, 192, 1)', pointBackgroundColor: 'rgba(75, 192, 192, 1)', pointBorderColor: '#fff', pointHoverBackgroundColor: '#fff', pointHoverBorderColor: 'rgba(75, 192, 192, 1)', data: [85, 70, 90, 85, 80, 85] } ] }; // 初始化雷达图 const ctx = document.getElementById('radarChart').getContext('2d'); let radarChart = new Chart(ctx, { type: 'radar', data: { labels: crisisData.labels, datasets: [crisisData.datasets[0]] // 默认显示2020年数据 }, options: { responsive: true, maintainAspectRatio: false, scales: { r: { angleLines: { display: true, color: 'rgba(255, 255, 255, 0.3)' }, suggestedMin: 0, suggestedMax: 100, ticks: { stepSize: 20, backdropColor: 'transparent', color: 'white' }, pointLabels: { color: 'white', font: { size: 14 } }, grid: { color: 'rgba(255, 255, 255, 0.2)' } } }, plugins: { legend: { display: false }, tooltip: { callbacks: { label: function(context) { return `${context.dataset.label}: ${context.raw}%`; } } } }, elements: { line: { tension: 0.1, borderWidth: 3 } } } }); // 滑块控制年份切换 const timeSlider = document.getElementById('timeSlider'); timeSlider.addEventListener('input', function() { const yearIndex = parseInt(this.value); radarChart.data.datasets = [crisisData.datasets[yearIndex]]; radarChart.update(); }); // 添加自定义tooltip const tooltip = document.createElement('div'); tooltip.className = 'tooltip'; document.body.appendChild(tooltip); document.getElementById('radarChart').addEventListener('mousemove', function(e) { const points = radarChart.getElementsAtEventForMode( e, 'nearest', { intersect: true }, true ); if (points.length) { const point = points[0]; const dataset = radarChart.data.datasets[point.datasetIndex]; const label = radarChart.data.labels[point.index]; const value = dataset.data[point.index]; tooltip.innerHTML = ` <strong>${label}</strong><br> ${dataset.label}: ${value}% `; tooltip.style.opacity = 1; tooltip.style.left = e.pageX + 10 + 'px'; tooltip.style.top = e.pageY + 10 + 'px'; } else { tooltip.style.opacity = 0; } }); </script> </body> ``` 额外需要注意的逻辑点: 1. 雷达图的数据范围建议统一(0-100%),确保各年份数据可比性 2. 滑块事件监听使用'input'而非'change',实现实时更新效果 3. 自定义tooltip需要处理鼠标移出事件,避免残留显示 [2025-05-03 10:17:27 | AI写代码神器 | 1334点数解答]

热门AI查看更多
“AI写代码神器”擅长各种语言编程、解释代码、注解补充。 在这里填写你的问题。如:写出java冒泡排序算法。
一个入口掌握所有。 在这输入任何问题,或者要AI输出的内容。
将阿拉伯数字转为人明币大写,如:数字1000转换为壹仟。
AI生成爆文标题,能够快速创作出极具吸引力的标题,促使短视频、自媒体文章的点击率与阅读量迅猛攀升。 此处填写一个原始标题,如:一般人怎样打理自身的社交圈?
AI生成新闻评论。 在这里填入新闻内容。
AI生成内容摘要。 在此处填入需要生成摘要的内容,还可以输入4000字。
AI生成主持词,擅长团建、年会、婚礼、节日等场合的主持词编写。 在这里填入主持场景,如:运动会
AI快速生成周报、月报、日报、年终总结等各类总结报告。 在这里简单输入工作目标、指标、成果,没有任何格式或特殊需求。如:计划年销售业绩1000万,实际完成800万。
输入一个字,显示以这个字开头的歇后语
输入一个字,显示以这个字开头的成语
极速在线生成证件照
极速更换证件照红、蓝、白底色
实用工具查看更多
阿里云99元2核2G服务器/年,199元2核4G服务器随心买。
今日油价 [生活类]
全国各省油价,实时更新。
图片互转base64 [开发类]
将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页、编辑器中。 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地方。
时间转换器 [开发类]
时间戳转换器,时间、毫秒、秒、倒计时查看
录入名字、电话、邮箱、个人介绍信息,生成二维码,可通过此码扫码添加微信联系人
数独游戏 [娱乐类]
数独(Sudoku)是经典的9x9数字逻辑谜题。在有81个小格的九宫格内,玩家依据初始数字推理填入1 - 9的数字,要保证每行、每列以及每个3x3宫格中的数字都不重复。这款在线数独游戏有多难度可选,没有头绪时,可以点开答案看一下哦^_^
经典推箱子 [娱乐类]
基于H5的经典推箱子小游戏,锻炼玩家的眼力和反应力,非常不错
AI摸鱼五子棋 [娱乐类]
基于H5的五子棋人机对练,锻炼玩家的眼力和反应力,非常不错
相关提问