У меня проблема с таргетингом. У меня 5 предметов. У них есть собственные индивидуальные значения для максимальной и минимальной температур в celcius и fahrenheit. Я должен сделать их, когда я нажимаю значок индивидуального celcius, должен изменить только их значение. Но теперь, когда я нажимаю значок celcius, он вносит изменения обо всех значениях и берет значение первого элемента. Вы можете видеть это здесь;Проблема с таргетингом при нажатии элемента item
var api_key = "dd39280551e44f1bb34221739171701&q=";
var loc;
$(document).ready(function() {
// var latitude,longitude;
$.getJSON('http://ipinfo.io', function(d){
loc = d.loc.split(",");
var apiLink = "http://api.apixu.com/v1/forecast.json?key=";
var days5 = "&days=5";
var api = apiLink + api_key + loc[0] +','+ loc[1] + days5;
$.getJSON(api, function(v1) {
var tempSwapForecast = true;
var forecastdayData = v1.forecast.forecastday;
var days = forecastdayData.map(function(d) {
return d.day;
});
var maxtempc = days.map(function(maxc) {
return maxc.maxtemp_c;
});
var mintempc = days.map(function(minc) {
return minc.mintemp_c;
});
var maxtempf = days.map(function(maxf) {
return maxf.maxtemp_f;
});
var mintempf = days.map(function(minf) {
return minf.mintemp_f;
});
$('.forecasticons img').each(function(i) {
$(this).attr('src', days[i].condition.icon);
});
$('.frc-temp').each(function(i) {
$(this).html(Math.round(maxtempc[i]) + "-" + Math.round(mintempc[i]));
$('.frc-degree').click(function() {
for (var j = 0; j < $(this).length; j++) {
if(tempSwapForecast===false){
$('.frc-temp').html(Math.round(maxtempc[j]) + "-" + Math.round(mintempc[j]));
$('.frc-degree').html(" ℃");
tempSwapForecast = true;
} else {
$('.frc-temp').html(Math.round(maxtempf[j]) + "-" + Math.round(mintempf[j]));
$('.frc-degree').html("℉");
tempSwapForecast = false;
}
}
});
});
$('.forecastText').each(function(i) {
$(this).html(days[i].condition.text);
});
});
});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="other-days">
<div class="forecastday">
<div class="forecasticons" >
<img class="fcicon" alt="weather-icon" src="">
</div>
<div class="forecastText"></div>
<div class="forecasttemp">
<span class="frc-temp"></span>
<a class="frc-degree" href="#">℃</a>
</div>
</div>
<div class="forecastday">
<div class="forecasticons" >
<img class="fcicon" alt="weather-icon" src="">
</div>
<div class="forecastText"></div>
<div class="forecasttemp">
<span class="frc-temp"></span>
<a class="frc-degree" href="#">℃</a>
</div>
</div>
<div class="forecastday">
<div class="forecasticons" >
<img class="fcicon" alt="weather-icon" src="">
</div>
<div class="forecastText"></div>
<div class="forecasttemp">
<span class="frc-temp"></span>
<a class="frc-degree" href="#">℃</a>
</div>
</div>
<div class="forecastday">
<div class="forecasticons" >
<img class="fcicon" alt="weather-icon" src="">
</div>
<div class="forecastText"></div>
<div class="forecasttemp">
<span class="frc-temp"></span>
<a class="frc-degree" href="#">℃</a>
</div>
</div>
<div class="forecastday">
<div class="forecasticons" >
<img class="fcicon" alt="weather-icon" src="">
</div>
<div class="forecastText"></div>
<div class="forecasttemp">
<span class="frc-temp"></span>
<a class="frc-degree" href="#">℃</a>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
</body>
</html>
я жду вас ценен помогает.
Здравствуйте, благодаря его работе, но с одной проблемой. Они имеют собственные индивидуальные ценности. Но когда я нажимаю один из них, он берет значение первого элемента. Я хочу, чтобы каждый элемент имел свою ценность. Извините, я новичок в javascript. – erenesto
Отследил его, это был способ, которым использовался индекс (i или j, не помню, какой). Вместо этого я использую позицию дня div в коллекции дней, чтобы определить используемый индекс. Кроме того, tempSwapForecast вызывал некоторые нечетные проблемы с переключением - я изменил его, чтобы сохранить единицы в самом temp-элементе и переключиться на это. Удачи! – Snowmonkey
Большое вам спасибо. Теперь работает. Я сказал, что я новичок в javascript, и иногда мои способы могут быть плохими. И спасибо за понятные комментарии. – erenesto