当前位置:首页 > JavaScript

js实现疫情

2026-04-06 18:16:22JavaScript

使用JavaScript实现疫情数据展示

通过调用公开的疫情数据API,可以动态获取并展示疫情相关信息。以下是一个基础的实现方法:

// 获取疫情数据
async function fetchCovidData() {
  const response = await fetch('https://api.covid19api.com/summary');
  const data = await response.json();
  return data;
}

// 渲染数据到页面
function renderCovidData(data) {
  const container = document.getElementById('covid-container');

  data.Countries.forEach(country => {
    const countryElement = document.createElement('div');
    countryElement.innerHTML = `
      <h3>${country.Country}</h3>
      <p>确诊: ${country.TotalConfirmed}</p>
      <p>死亡: ${country.TotalDeaths}</p>
      <p>治愈: ${country.TotalRecovered}</p>
    `;
    container.appendChild(countryElement);
  });
}

// 初始化
fetchCovidData()
  .then(data => renderCovidData(data))
  .catch(error => console.error('获取数据失败:', error));

使用图表库可视化疫情数据

结合Chart.js等图表库可以更直观地展示疫情趋势:

import Chart from 'chart.js';

async function createCovidChart() {
  const data = await fetchCovidData();
  const ctx = document.getElementById('covid-chart').getContext('2d');

  new Chart(ctx, {
    type: 'bar',
    data: {
      labels: data.Countries.slice(0, 10).map(c => c.Country),
      datasets: [{
        label: '确诊人数',
        data: data.Countries.slice(0, 10).map(c => c.TotalConfirmed),
        backgroundColor: 'rgba(255, 99, 132, 0.2)'
      }]
    }
  });
}

实现疫情地图展示

使用Leaflet等地图库可以创建交互式疫情地图:

js实现疫情

import L from 'leaflet';

async function initCovidMap() {
  const data = await fetchCovidData();
  const map = L.map('covid-map').setView([20, 0], 2);

  L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

  data.Countries.forEach(country => {
    if(country.Lat && country.Lon) {
      L.circleMarker([country.Lat, country.Lon], {
        radius: Math.log(country.TotalConfirmed) * 2,
        color: '#ff0000'
      }).bindPopup(`${country.Country}: ${country.TotalConfirmed}例`).addTo(map);
    }
  });
}

注意事项

  • 确保使用可靠的疫情数据API,如COVID19 API或各政府公开数据接口
  • 处理API请求失败的情况,提供友好的错误提示
  • 考虑数据缓存策略,避免频繁请求API
  • 移动端适配,确保在各种设备上都能正常显示

标签: 疫情js
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

Vue实现疫情地图

Vue实现疫情地图

Vue实现疫情地图的方法 使用第三方地图库(如高德、百度地图) 在Vue项目中引入高德或百度地图的JavaScript API,通过API获取疫情数据并在地图上展示。需要注册开发者账号获取API密钥。…