目标是循环访问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>