使用 jQuery 从 JSON 文件中提取变量并求和

使用 jquery 从 json 文件中提取变量并求和

本文档将指导你如何使用 jQuery 从 JSON 文件中提取数据,并将提取的数值变量进行求和,最终将结果展示在网页上。我们将通过一个实际案例,详细讲解代码实现,帮助你掌握这一实用技能。

从 JSON 文件中提取数据并动态更新表格

假设你有一个 JSON 文件,其中包含了 Strava 活动的数据,你需要从该文件中提取最近 5 次活动的距离数据,并将这些距离数据相加,最终在网页表格中显示总距离。

核心代码实现

以下是使用 jQuery 实现该功能的代码示例:

function toTime(seconds) {  var date = new Date(null);  date.setSeconds(seconds);  return date.toISOString().substr(11, 8);}$(function() {  $.get('/running/strava_activities.json', function(data) {    console.log(data);    let aggregate = 0; // 初始化总距离变量    for (let i = 0; i  0) {        $("#time_km_" + (i + 1)).html(toTime(((data[i].moving_time) / ((data[i].distance) / 1000))).slice(3));      }      aggregate += Number(data[i].distance); // 累加距离    }    // 将总距离显示在页面上    $("#activitytotaldistance").html((aggregate / 1000).toFixed(3));  });});

代码详解

toTime(seconds) 函数: 该函数用于将秒数转换为 HH:MM:SS 格式的时间字符串。

$(function() { … });: 这是一个 jQuery 的简写方式,等同于 $(document).ready(function() { … });,表示在文档加载完成后执行其中的代码。

$.get(‘/running/strava_activities.json’, function(data) { … });: 使用 jQuery 的 $.get() 方法从 /running/strava_activities.json URL 获取 JSON 数据。当数据成功获取后,执行回调函数

let aggregate = 0;: 声明并初始化一个名为 aggregate 的变量,用于存储总距离。

for (let i = 0; i : 使用一个循环遍历 JSON 数据中的前 5 个活动。

$(“#start_date_local_” + (i + 1)).html((data[i].start_date_local).slice(0, 10));: 使用 jQuery 选择器根据 ID 找到对应的 HTML 元素,并使用 .html() 方法将 JSON 数据中的 start_date_local 属性值(截取前 10 个字符)设置为该元素的内容。 其他类似的行代码,用于将 JSON 数据中的其他属性值更新到对应的 HTML 元素中。

aggregate += Number(data[i].distance);: 将当前活动的距离值累加到 aggregate 变量中。 Number() 函数用于将字符串转换为数字,确保可以正确进行加法运算。

$(“#activitytotaldistance”).html((aggregate / 1000).toFixed(3));: 循环结束后,将计算得到的总距离(除以 1000 转换为公里,并保留 3 位小数)更新到 ID 为 activitytotaldistance 的 HTML 元素中。

HTML 结构

确保你的 HTML 结构中包含以下元素,以便代码可以正确地找到并更新数据:

Date Type Title Distance Height Gain Moving Time Time/Km
Km
m
Km
m
Km
m
Km
m
Km
m
5-day totals
-
-
Km
m
-
-

注意事项

确保 jQuery 库已经正确引入到你的 HTML 文件中。JSON 文件的 URL (/running/strava_activities.json) 需要根据你的实际情况进行修改。如果 JSON 数据结构与示例代码中的结构不一致,你需要相应地修改代码以适应你的数据结构。错误处理:在实际应用中,应该添加错误处理机制,例如在 $.get() 方法的回调函数中检查请求是否成功,以及在数据处理过程中处理可能出现的异常情况。

总结

通过本文档,你学习了如何使用 jQuery 从 JSON 文件中提取数据,并将提取的数值变量进行求和,最终将结果动态地展示在网页上。 这个方法可以应用于各种需要从 JSON 数据源动态更新网页内容的场景。 记住,理解 JSON 数据结构和 jQuery 选择器的使用是关键。

以上就是使用 jQuery 从 JSON 文件中提取变量并求和的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1590450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 05:59:46
下一篇 2025年12月16日 16:21:19

相关推荐

  • 使用jQuery closest() 和属性选择器精准定位并隐藏父元素

    本教程详细介绍了如何利用jquery的`closest()`方法结合css属性选择器,根据内层元素的特定属性来查找并操作其父级元素。文章通过实例代码演示了如何精确地定位到具有特定`name`属性的子元素,并向上遍历dom树,找到最近的匹配父元素进行隐藏或显示操作,是前端开发中处理复杂dom结构时一项…

    2025年12月23日
    000
  • 动态显示当前与上月日期:JavaScript实现指南

    本教程演示如何使用JavaScript动态更新HTML页面中的当前和上个月份及年份信息。通过利用Date对象及其getMonth()和getFullYear()方法,结合对月份索引的映射处理,可以轻松实现无需手动修改的自动化日期显示。文章将提供详细的代码示例和注意事项,确保日期信息的准确呈现,特别是…

    2025年12月23日
    000
  • jQuery closest() 方法与属性选择器:精准控制DOM父元素显隐

    本文详细介绍了如何利用jquery的`closest()`方法结合css属性选择器来精准定位并控制dom中特定子元素的父级元素。通过实际代码示例,演示了如何根据子元素的属性值查找其最近的匹配祖先元素,并对其执行隐藏或显示等操作,从而实现高效且灵活的dom操作。 在Web开发中,我们经常需要根据页面上…

    2025年12月23日
    000
  • Django模板:实现HTML标签安全白名单与XSS防护

    本教程旨在解决在django模板中安全地展示用户输入html内容的挑战,即只允许特定的html标签(如`br`, `italic`, `strong`, `ul`, `li`)出现,同时有效防范跨站脚本(xss)攻击。我们将详细介绍如何利用python的`bleach`库实现精细的html标签白名单…

    2025年12月23日
    000
  • ps文件如何html_Photoshop设计稿转HTML切片与代码方法

    答案:将PSD设计稿转换为HTML需先整理图层结构,再切片导出资源,接着编写语义化代码还原布局与样式,最后实现响应式优化。具体步骤包括:1. 规范命名图层、合理分组、使用智能对象并标注尺寸;2. 用切片工具划分区域,导出适配Web的图片格式,注意分辨率、压缩与多倍图支持;3. 采用HTML标签搭建结…

    2025年12月23日
    000
  • JavaScript中动态构建HTML字符串与链接参数的策略

    本文深入探讨了在JavaScript中动态构建包含URL参数的HTML字符串,以及如何避免常见的拼接错误。针对用户需要在组件中传入完整HTML字符串的场景,我们将详细介绍两种主要策略:一是通过JavaScript字符串拼接(包括模板字面量)直接构建含有动态参数的HTML字符串;二是通过DOM操作,在…

    2025年12月23日
    000
  • 在HTML中嵌入可选择文本的SVG图像:实现方法与最佳实践

    本教程探讨如何在html中嵌入svg图像,同时确保svg内部的文本可被选择和搜索。针对“标签无法保留文本交互性的问题,文章详细介绍了两种主要解决方案:直接将svg代码内联到html文档中,以及使用“标签引用外部svg文件。通过这两种方法,开发者可以有效地在网页中集成功能丰富的svg图形,并保持其…

    2025年12月23日
    000
  • 如何在JavaScript中获取子按钮点击时父级div的索引

    本文详细介绍了在javascript中,当点击嵌套`div`中的子按钮时,如何高效准确地获取其父级`div`(具有特定类名,如”row”)的索引。文章提供了三种主要的实现方法,包括基于事件委托的通用解决方案和针对特定按钮(如第一个按钮)的优化方案,并附带了代码示例和注意事项,…

    2025年12月23日
    000
  • CSS Grid 圣杯布局中动态列与全宽元素共存的实现技巧

    本文探讨了在使用 css grid 实现圣杯布局时,当页眉和页脚尝试横跨所有列 (`grid-column: 1 / -1`) 时,如何解决动态中心列被忽略的问题。通过巧妙运用 `grid-row` 进行元素定位,并结合 `calc()` 函数精确计算宽度,我们能有效分离行与列的控制,从而在保持圣杯…

    2025年12月23日
    000
  • 使用BeautifulSoup高效提取HTML表格指定列并处理嵌套表格

    本教程详细介绍了如何使用Python的BeautifulSoup库从HTML表格中精准提取特定列数据,尤其是在存在复杂嵌套表格结构时。文章提供了两种核心策略:通过CSS选择器过滤包含嵌套表格的行,以及通过DOM操作(decompose()方法)移除不需要的列,确保只获取目标数据,有效避免了常见的解析…

    2025年12月23日
    000
  • CSS预处理器中&操作符与嵌套选择器的正确使用指南

    本文旨在澄清css预处理器(如scss/sass)特有的`&`操作符和嵌套选择器语法与标准css之间的区别。我们将详细解释如何在不同环境中正确使用这些高级特性,尤其是在处理伪元素(如`::before`和`::after`)时,并提供从scss/sass到纯css的转换示例,帮助开发者避免常…

    2025年12月23日
    000
  • JavaScript中获取可用时区名称列表

    本教程将介绍如何在javascript环境中获取一个标准的时区名称列表。针对从moment.js迁移到day.js后寻找时区列表方法的场景,我们将利用web api `intl.supportedvaluesof(‘timezone’)` 提供一个无需外部库的解决方案,并详细…

    2025年12月23日
    000
  • Angular中利用TitleCasePipe高效实现字符串首字母大写转换

    本教程将深入探讨在angular应用中如何优雅地处理字符串首字母大写格式化问题,特别是针对姓名或标题等需要每个单词首字母大写的场景。我们将重点介绍angular内置的`titlecasepipe`,演示如何通过简洁的模板语法实现自动转换,从而避免编写冗余的自定义逻辑,显著提高开发效率和代码的可维护性…

    2025年12月23日 好文分享
    000
  • HTML5在线如何实现权限管理 HTML5在线安全控制的开发方案

    答案:HTML5前端结合JWT和RBAC实现界面控制,后端主导权限校验,通过路由守卫、指令控制和动态菜单实现细粒度权限管理,配合Token鉴权、输入转义、CORS限制等安全措施,确保系统安全可靠。 HTML5 本身是前端技术,不直接提供权限管理功能,但结合现代 Web 技术可以在前端实现细粒度的界面…

    2025年12月23日
    000
  • JavaScript中通过类名高效移除DOM元素:以表格行为例

    本教程将深入探讨如何在javascript中高效地通过元素的类名移除dom元素,特别是针对动态生成的表格行。我们将分析传统的`removechild`方法及其在特定场景下的考量,并重点推荐使用现代、简洁的`element.prototype.remove()`方法,同时提供完整的代码示例和dom操作…

    2025年12月23日
    000
  • 解决JavaScript计时器变慢的问题:使用系统时钟实现精准计时

    本文旨在解决JavaScript中使用`setTimeout`实现的计时器逐渐变慢的问题。通过分析传统实现方式的缺陷,提出使用系统时钟`Date`对象来记录时间差,并结合`requestAnimationFrame`优化渲染,从而实现更精确的计时器功能。文章将提供详细的代码示例和解释,帮助开发者构建…

    2025年12月23日
    000
  • JavaScript 中使用多个 querySelector 更新页面元素

    本文旨在讲解如何在 JavaScript 的 if 语句中使用多个 querySelector 来更新不同的页面元素,并提供示例代码和注意事项,帮助开发者理解并应用此技术。通过该方法,可以根据特定条件动态修改页面内容,提升用户体验。 使用 querySelector 在 if 语句中更新多个元素 在…

    2025年12月23日
    000
  • JavaScript实现多文件输入框的图片即时预览与动态更新

    本教程详细讲解如何在web页面中为多个文件输入框实现独立的图片即时预览功能。通过分析常见错误,即使用`document.getelementbyid`导致只更新第一个元素的问题,我们提出了利用dom遍历方法(如`closest`和`queryselector`)结合事件监听器,动态定位并更新每个文件…

    2025年12月23日
    000
  • HTML5网页如何制作单页应用 HTML5网页SPA开发的完整流程

    单页应用通过动态渲染和路由实现流畅用户体验,核心步骤包括:规划功能模块与路由逻辑,搭建HTML5结构,利用Hash或History API实现前端路由,封装视图函数进行内容管理,结合JavaScript状态管理和异步请求,优化加载性能,并考虑SEO与部署方案。掌握原生实现有助于理解Vue、React…

    2025年12月23日
    000
  • 如何在多个文件输入框中实现独立的图片预览功能

    本文详细探讨了如何在具有多个文件输入框的网页中实现独立的图片预览功能。针对`id`属性非唯一性导致的预览失效问题,文章提供了两种健壮的解决方案:一是基于类名和索引的关联,二是利用dom遍历动态定位相关元素。通过实例代码和最佳实践,帮助开发者构建灵活且用户友好的文件上传预览界面。 在现代Web应用中,…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信