JavaScript:用于比较json数据趋势的函数

时间:2015-12-10 21:18:48

标签: javascript json

目标是循环访问JSON数据文件以比较趋势。如果数据的先前值小于或大于当前值,则应更改图像ID' ed Snow1_img

条件我需要执行上述对象的大约8个不同的值/变量,所以,我认为一种方法是编写一个单独的函数,它接受ElementID和trendDirection的参数< / p>

为了保持现在的简单,我创建了一个jsfiddle http://jsfiddle.net/ohak2Lr4/1/

HTML

<div class="Dboxes">
  <div class="TableContainer">
    <div class="Value">
      <img id="Snow1_img" class="MainImg" src="img/grnsqr.png" /> <span id="Snow1" class="metrics">##</span>
    </div>
  </div>
</div>

CSS

.Value
{
  text-align: center;
  font-size: 1.0vw;
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.MainImg
{
  width: 16px;
  height: 16px;
}
.TableContainer
{
  display: flex;
  align-items:center;
  height: 25px;
}
.Dboxes {
            width: 100px;
            height: 100px; 
            background: black;
            color: white;
        }

的JavaScript

var counter = 0; // Trial 

$(document).ready(function () {       

  $.ajaxSetup({ cache: false });

       myJson();

    });

function myJson() {

    $.getJSON('JsonData.json', function (response) {

        var looping = setInterval(function () {
        var TrialCount = response.length;
            var Info = response[counter];
            var Snow1_Data = Info.Snow1;

            document.getElementById("Snow1").innerHTML = Snow1_Data

            counter++;
            if (counter == TrialCount) clearInterval(looping);

        }, 100);
    });
};

目前,它正在从名为JsonData.json的JSON文件中获取外部数据,循环遍历每个数据值并将其更新为 id =&#34; Snow1&#34; 。我想要做的是,如果Snow1的先前循环数据小于或大于当前值,则 id =&#34; Snow1_img 图像应该更改。同样的功能将应用于Sun1,Moon1等(总共8个变量)。

如何编写从这些变量中获取数据ID并执行此任务的函数?

我对编码/ JavaScript很新,所以请耐心等待。根据我的理论,我觉得我需要的步骤是:声明要接受elementID和trendDirection的新函数,例如

function UpdateTrendIcon(elementID, trendDirection){ 
    $(elementID).getAttribute(trendDirection);
}

并声明previousArray = [];和currentArray = [];并且有一个if语句来比较这两个数组......再次,我的理论可能是错误的。

请让我知道一种方法,如果可能的话给我一个例子。

可以在https://www.dropbox.com/s/g8pergj6x9ktarg/JsonData.json?dl=0

找到Json文件

澄清下面的评论:图片 - img id =&#34; Snow1_img&#34;假设根据当前值改变。如果当前值大于先前值,则应更改为图像2,如果它小于之前的值,则应更改为图像1. 应该在给定时间段内对更改/趋势进行动画 < / p>

0 个答案:

没有答案