Connect with us

Iowa

Mud, bugs, ponding and more plague Iowa corn and soybeans

Published

on

Mud, bugs, ponding and more plague Iowa corn and soybeans


An ag editor buddy of mine said that even with all the modern technology, farming still breaks down to mud, bugs, diseases, sunshine and a crop at the end. While it’s unknown how the 2024 crop will turn out, we will get one — it’s just a question of how large it will be.

Until we get there, though, there will be all sorts of maladies to overcome. Here’s a roundup from what Iowa State University field agronomists have seen so far this month in their areas. (Editor’s note: This is a condensed version. The full report can be found here.

Northwest Iowa

Leah Ten Napel, an ISU Extension field agronomist based in LeMars, reports that farmers took advantage of short work windows. As of May 21, she estimates 85% to 90% of corn has been planted, and 65% to 70% of soybeans have been planted. Weed control has been a challenge, with just small windows of low wind and dry fields occurring. “Issues with weed control might arise because of late or missed applications, or excessive rainfall following applications, she writes.

In some cases, soil crusting has caused emergence issues. However, good stands have occurred in quickly emerging fields. She advises farmers to do corn and soybean stand assessments in their fields to help with replant decisions.

Advertisement

Further east in northern Iowa, Gentry Sorenson, an ISU Extension field agronomist, reports approximately 70% of corn and 50% of the soybeans had been planted by May 21 planted across the area he serves. Heavy rainfall ranging from 1 to 4 inches occurred May 20 into May 21. Areas of Clay and Palto Alto counties also received hail.

Soil crusting also has occurred in the area, and rotary hoeing has been done to help break the crust so corn can emerge. Some areas of fields that that had standing water from rainfall earlier in the month were recently replanted. Unfortunately, some of those areas are underwater again due to the May 20-21 rainfall.

North-Central Iowa

Angie Rieck-Hinz, an ISU Extension field agronomist based in Clarion, notes the May 20 crop progress report indicates 82% of corn and 58% of soybeans are planted in the north-central Iowa crop reporting district. “My estimate is there are more corn acres planted than what that report reflects, and definitely more beans planted,” she writes.

Emergence uniformity is a concern. “A few farmers have shared they hope to be able to replant not only the wet areas, but in some cases, entire fields,” she writes.

While scouting, she’s noticed several dead heads of bromegrass in the ditches, indicating that common stalk borers may be present. “We are just on the cusp of having enough growing degree days (1400 GDDs) to start seeing movement to cornfields in my southern counties, so be sure to scout those field edges,” she writes.

Advertisement

She also notes cover crop termination has been a struggle this year. “I have seen some creative [and I hope successful] methods of termination this year,” she writes.

Northeastern Iowa

Farmers have been able to make much progress planting corn and soybeans in the area that Terry Basol, ISU Extension field agronomist serves. The USDA National Agicultural Statistics Service Crop Progress Report for May 2 showed 76% of corn acres in northeastern Iowa had been planted, with 65% of soybean acres planted.

Heavy rainfall the morning of May 21 has created flooding and ponding issues. For more information on ponding impacts on crops, check out these Integrated Crop Management news articles: Ponding Impacts on Corn Growth and Development and Ponding Impacts on Soybean Growth and Development.

Josh Michel, an ISU Extension field agronomist, estimates about 80% of the corn has been planted in his area, with soybean plantings at 65% as of May 21. “The furthest-along corn I’ve seen is around V2 or V3,” he writes. “Early-planted soybeans are just getting their first trifoliate leaves.”

Central Iowa 

Meaghan Anderson, an ISU Extension field agronomist, reports her area received more excessive rainfall on May 20-21. This flooded fields and roads, washed out fences and caused other related issues.

Advertisement

She reports corn growth is variable, with some having just been planted to some corn in the V3 stage. Some fields have been replanted, due to emergence issues. Soybeans are anywhere from just planted to V1 (first trifoliate). As in other areas of Iowa, ponding from excessive rainfall has occurred. “Monitor fields for uneven emergence, disease issues, and other problems as a result of the ponding from recent rains.  

East Central, Southeast, and South-Central Iowa

Rebecca Vittetoe, an ISU Extension field agronomist based in Washington, notes that despite rainfall, much planting progress and related field activities have occurred. As of May 21, the earlier-planted corn is at V3 to V4 and soybeans at V1. “I’ve heard of some issues with soil crusting and emergence in my area, as well as herbicide injury in soybeans from preemergence herbicides,” she writes. “Now is also the time to be scouting for pests like bean leaf beetles and black cutworms.

Virgil Schmitt, an ISU Extension field agronomist based in Muscatine, notes that rainfall has caused field delays, but planting progress has been good. As of May 21, corn planting was about 90% complete in his northern counties and about 70% complete in his southern counties. Most corn is about V1 and looks good, with some early-planted corn reaching V3 by May 21. So far, no reports of black cutworm have surfaced in his area.

Soybean planting is about 80% complete in his northern counties and about 60% complete in his southern counties. Some early planted soybeans are at V1. So far, he has not heard of any bean leaf beetle issues. Questions from farmers have revolved around alfalfa weevils, weed identification and management, and the Late Spring Soil Nitrate Test, he says.





Source link

Advertisement

Iowa

Iowa State basketball lands Northern Iowa transfer Leon Bond III

Published

on

Iowa State basketball lands Northern Iowa transfer Leon Bond III


play

The name’s Bond — Leon Bond III — and he’s Iowa State men’s basketball’s first transfer portal commit of the 2026 cycle.

Bond was one of several reported to be visiting Ames this weekend, and he announced his commitment on Friday, April 10. He will have one year of eligibility remaining.

Advertisement

Bond, a 6-foot-5, 200-pound guard from Wauwatosa, Wisconsin, spent the last two seasons at Northern Iowa, after originally starting his collegiate career at Virginia.

Bond is coming off of a career-best year with the Panthers. He averaged 11.9 points, 4.7 rebounds and 1.5 assists, while shooting 47.3% overall, 36.2% from 3-point range and 75% from the free-throw line. He earned All-Defensive Team honors in the Missouri Valley Conference and was one of the key players in helping Northern Iowa win the conference tournament and make its first NCAA Tournament appearance in a decade.

Across his two seasons in Cedar Falls with the Panthers, he appeared in 59 games with 57 starts and averaged 11 points and 4.6 rebounds per game. Before that, he played one season for former coach Tony Bennett at Virginia in 2023-24, where he played 24 games off the bench, averaging 4.1 points over 12.3 minutes per game.

Offensively, he’s a solid athlete capable of getting to the basket and making plays above the rim, while showing an improved perimeter jumper that he’s worked on over the years. Defensively, he provides versatility and an ability to guard multiple positions. His length, athleticism and motor bode well for him as he transitions into Iowa State’s system.

Advertisement

As the first transfer commit for Iowa State, Bond is helping replenish the Cyclones’ roster after the graduations of Tamin Lipsey, Joshua Jefferson, Nate Heise, Dominick Nelson and Eric Mulder.

They also saw Mason Williams and Cade Kelderman enter the portal since it first opened on April 7. College basketball players will have until April 21 to decide if they are staying with their current schools or entering the transfer portal.

Eugene Rapay covers Iowa State athletics for the Des Moines Register. Contact Eugene at erapay@gannett.com. Follow him on Twitter at @erapay5.





Source link

Advertisement
Continue Reading

Iowa

Iowa wrestling taps Jacob Warner as new assistant coach

Published

on

Iowa wrestling taps Jacob Warner as new assistant coach


play

Iowa wrestling will bring in a familiar face to fill out its coaching staff, tapping five-time NCAA All-American Jacob Warner to join as an assistant coach.

Advertisement

The Hawkeye wrestling program announced the decision on April 10. He replaces Bobby Telford, who took a position outside of wrestling after the 2025-26 season ended.

With Warner’s hire, all four official coaching positions at Iowa are held by former Hawkeye wrestlers — head coach Tom Brands, associate head coach Terry Brands, assistant coach Ryan Morningstar and Warner. (Telford also wrestled for the Hawkeyes.)

While Warner does not have official coaching experience, being in the Hawkeye Wrestling Club allowed him to help sharpen athletes still competing in the college ranks. Warner has been credited by several wrestlers in the program for helping their development, none bigger than national champion Stephen Buchanan.

“Jacob knows what it takes to compete at the highest level, both on and off the mat,” Tom Brands said in a release. “He represents everything Iowa wrestling stands for. His toughness, discipline and relentless work ethic will be a tremendous asset to our staff and our student-athletes.”

Advertisement

As a wrestler, Warner had a career record of 97-28 in a Hawkeye singlet. He took seventh at the NCAA Championships in 2019 as a redshirt freshman, earned All-American honors for the canceled 2020 NCAA Championships, then was fourth in 2021, an NCAA runner-up in 2022 and finished his career in fifth place in 2023. Warner also has experience on the major World stages. He won a bronze medal at the 2016 Cadet World Championships and was on the 2018 Junior World team for the United States.

The Hawkeyes have a pivotal 2026-27 season ahead, following a fourth-place finish at the NCAA Championships and a regular season to forget. Time will tell whether Warner’s official addition to the staff can help spark better results as the Hawkeyes look to return to their championship ways.

“Our fans, I see them on the street, I see them here, I see them there, I say, ‘We got to do better for you,’” Tom Brands said after the NCAA Championships. “We know that.”

Eli McKown covers high school sports and wrestling for the Des Moines Register. Contact him at Emckown@gannett.com. Follow him on Twitter at @EMcKown23.

Advertisement





Source link

Continue Reading

Iowa

Iowa State women’s basketball team adds transfer guard from Kent State

Published

on

Iowa State women’s basketball team adds transfer guard from Kent State


Iowa State women’s basketball team adds transfer guard from Kent State

Advertisement

ROUND PICK. WE’LL BE PULLING FOR HIM. THE DRAFT STARTS THURSDAY, APRIL 23RD. CYCLE IN. WOMEN LOST NEARLY THEIR ENTIRE ROSTER THURSDAY. THEY GOT ONE BACK. MAYA BABBITT IS COMING OVER FROM KENT STATE. SHE LED THAT TEAM AT 16 POINTS PE

Advertisement

Iowa State women’s basketball team adds transfer guard from Kent State

Updated: 10:40 PM CDT Apr 9, 2026

Editorial Standards

Advertisement

Iowa State got a strong start on its 2026 transfer class Thursday.Kent State guard Mya Babbitt announced her commitment to Iowa State.Babbitt, a 5’8″ guard from Papillion, Nebraska, has been a two-year starter for the Golden Flashes and earned second-team All-MAC honors in 2025-26 after averaging 16.1 points and 4.0 rebounds per game. She also set the Kent State record for 3-pointers in a season as a sophomore, making 83 3-pointers at a 41.5% clip.Babbitt is the first incoming transfer to announce her commitment to Iowa State this offseason. She will have one year of eligibility remaining.The Cyclones are tasked with replacing nearly the entire roster from 2025-26 after nine players entered the transfer portal.Senior-to-be Arianna Jackson has announced her return, as has reserve guard Freya Jensen. Iowa State also brings in highly touted recruit Macy Comito. Comito led Carlisle High School to its first state title this winter.» Subscribe to KCCI’s YouTube page» Download the free KCCI app to get updates on the go: Apple | Google Play

Iowa State got a strong start on its 2026 transfer class Thursday.

Advertisement

Kent State guard Mya Babbitt announced her commitment to Iowa State.

Babbitt, a 5’8″ guard from Papillion, Nebraska, has been a two-year starter for the Golden Flashes and earned second-team All-MAC honors in 2025-26 after averaging 16.1 points and 4.0 rebounds per game. She also set the Kent State record for 3-pointers in a season as a sophomore, making 83 3-pointers at a 41.5% clip.

This content is imported from Twitter.
You may be able to find the same content in another format, or you may be able to find more information, at their web site.

Advertisement

Babbitt is the first incoming transfer to announce her commitment to Iowa State this offseason. She will have one year of eligibility remaining.

The Cyclones are tasked with replacing nearly the entire roster from 2025-26 after nine players entered the transfer portal.

Senior-to-be Arianna Jackson has announced her return, as has reserve guard Freya Jensen. Iowa State also brings in highly touted recruit Macy Comito. Comito led Carlisle High School to its first state title this winter.

» Subscribe to KCCI’s YouTube page

» Download the free KCCI app to get updates on the go: Apple | Google Play

Advertisement
Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

Advertisement

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

Advertisement

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcci.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

Advertisement

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

Advertisement

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

Advertisement

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

Advertisement

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcci.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

Advertisement

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

Advertisement

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…



Source link

Advertisement
Continue Reading

Trending