Connect with us

Iowa

Residents begin going through the rubble after tornadoes hammer parts of Nebraska and Iowa

Published

on

Residents begin going through the rubble after tornadoes hammer parts of Nebraska and Iowa


OMAHA, Neb. — Residents began sifting through the rubble Saturday after a tornado plowed through suburban Omaha, Nebraska, demolishing homes and businesses as it moved for miles through farmland and into subdivisions.

People gathered in the streets in the Elkhorn area of Omaha amid the scattered remains of the homes and Nebraska Gov. Jim Pillen planned to tour the area then hold a news conference later Saturday in Omaha.

The Friday night tornadoes wreaked havoc in the Midwest, causing a building to collapse with dozens of people inside and destroying and damaging hundreds of homes.

There have been several reports of injuries but no fatalities reported.

Advertisement

Three people were hurt in Nebraska’s Lancaster County when a tornado hit an industrial building, causing it to collapse with 70 people inside. Several were trapped, but everyone was evacuated and the injuries were not life-threatening, authorities said.

One of the most destructive tornadoes moved for miles Friday through mostly rural farmland before chewing up homes and other structures in the suburbs of Omaha, a city of 485,000 people with a metropolitan area population of about 1 million.

Photos on social media also showed heavy damage in the small town of Minden, Iowa, about 30 miles northeast of Omaha.

Jeff Theulen, chief deputy of the Pottawattamie County Sheriff’s Office, said at a late Friday briefing that 40 to 50 homes had been completely destroyed. Two injuries were reported but none were life-threatening.

School buses have been brought in to give residents a ride out of town if they need one, he said. He asked others to stay away as it’s a very dangerous area with power lines down and piles of debris where homes used to be.

Advertisement

“It’s heartbreaking to see these people who have lost houses, cars, essentially their life until they have to rebuild it,” he said.

The forecast for Saturday was ominous. The National Weather Service issued tornado watches early Saturday for northwestern Texas and across western Oklahoma.

“Tornadoes, perhaps significant tornadoes,” were possible Saturday afternoon and evening, said weather service meteorologist Bruce Thoren in Norman, Okla.

The threat of tornadoes extended into parts of Iowa, Kansas, Missouri, Nebraska and Arkansas. Forecasters warned that large hail and strong wind gusts were also possible.

Hundreds of houses were damaged in Omaha on Friday, mostly in the Elkhorn area in the western part of the city, Omaha police Lt. Neal Bonacci said and police and firefighters went door-to-door to help people.

Advertisement

In one area of Elkhorn, dozens of newly built, large homes were damaged. At least six were wrecked, including one that was leveled, while others had their top halves ripped off. Dozens of emergency vehicles responded to the area.

“We watched it touch down like 200 yards over there and then we took shelter,” said Pat Woods, who lives in Elkhorn. “We could hear it coming through. When we came up, our fence was gone and we looked to the northwest and the whole neighborhood’s gone.”

Kim Woods, his wife, added, “The whole neighborhood just to the north of us is pretty flattened.”

Three people, including a child, were in the basement of the leveled home when the tornado hit but got out safely, according to Dhaval Naik, who said he works with home’s owner.

KETV-TV video showed one woman being removed from a demolished home on a stretcher in Blair, a city just north of Omaha.

Advertisement

Two people were transported for treatment, both with minor injuries, Bonacci said.

“People had warnings of this and that saved lives,” Omaha Police Chief Todd Schmaderer said of the few serious injuries.

The tornado warning was issued in the Omaha area on Friday afternoon just as children were due to be released from school. Many schools had students shelter in place until the storm passed.

“Was it one long track tornado or was it several tornadoes?” Kern of the National Weather Service asked.

The agency planned to send out multiple crews over the next several days to determine the number of tornadoes and their strength, which could take up to two weeks, she said.

Advertisement

Another tornado hit an area on the eastern edge of Omaha, passing directly through parts of Eppley Airfield, the city’s airport. Officials halted aircraft operations to access damage but then reopened the facility, Omaha Airport Authority Chief Strategy Officer Steve McCoy said.

The passenger terminal was not hit by the tornado but people rushed to storm shelters until the twister passed, McCoy said.

After passing through the airport, the tornado crossed the Missouri River and into Iowa, north of Council Bluffs.

In Lancaster County, where three people were injured when an industrial building collapsed, sheriff’s officials also said they had reports of a tipped-over train near Waverly, Nebraska.

The Omaha Public Power District reported nearly 10,000 customers were without power in the Omaha area. The number had dropped to just more than 4,300 Saturday morning.

Advertisement

Pillen, the Nebraska governor, posted on the social platform X that he had ordered state resources to be made available to help with the emergency response and to support first responders as they assess the damage.

Hollingsworth reported from Mission, Kansas. Associated Press writers Ken Miller in Oklahoma City, Hannah Fingerhut in Des Moines, Iowa, Jack Dura in Bismarck, North Dakota, Jeff Martin in Atlanta and Lisa Baumann in Bellingham, Washington, contributed to this report.



Source link

Iowa

Iowa house passes bill requiring parental consent for minors to receive HPV vaccine

Published

on

Iowa house passes bill requiring parental consent for minors to receive HPV vaccine


DES MOINES, Iowa (IOWA CAPITAL DISPATCH) – The Iowa House passed legislation Tuesday requiring parental consent for minors to receive certain vaccines associated with sexually transmitted diseases — a measure that Democrats said could lead to higher cancer rates in Iowa.

Iowa requires parental consent for minors to receive a vast majority of vaccinations. But there’s currently a carveout in Iowa law for human papillomavirus (HPV) and hepatitis B vaccines. Iowans under age 18 can consent, without parental approval, for these vaccines, as they specifically deal with sexually transmitted diseases and infections.

Senate File 304, which passed on a 63-29 vote — would remove this exemption, requiring parental consent for minors to receive HPV and hepatitis B vaccines. Rep. Austin Baeth, D-Des Moines, an internal medicine physician, said the measure was a “pro-cancer bill, period.”

At subcommittee meetings on the measure, advocates representing health care providers and organizations have said HPV is linked with multiple forms of genital cancer, including cervical, penile, anal cancer and vaginal cancers — and that studies have found the HPV vaccine in particular has been linked with much lower instances of cervical cancer especially when a person is vaccinated before age 17.

Advertisement

“We have, with these vaccines, a way to save people’s lives,” Baeth said. “And in a state with the fastest-rising cancer rates, the second highest cancer rate overall, we should be doing more to prevent cancer, not less.”

Rep. Jeff Shipley, R-Fairfield, who supported the bill, said the measure was not limiting access to the HPV vaccine, but ensuring that parents approve of these vaccines being administered to young children.

Rep. Megan Srinivas, D-Des Moines, said the reason why this carveout was introduced in Iowa law in the first place was because there were instances where a parent may not be a trusted adult in a child’s life — including in situations of child abuse or child sexual assault.

“This conversation about needing to always trust our adults does not take the bad actors into account,” Srinivas said. “And what we should be keeping in mind, as we are passing legislation, are the most vulnerable in our society, which are the children that we have been entrusted to protect. By removing one of the most important things we can do in protecting children who might be the victims, we are making a bad decision, and that is why I urge you to vote no on this.”

Rep. Austin Harris, R-Moulton, disagreed with the assertion that the measure was “pro-cancer” — saying it only subjects the HPV and Hepatitis B vaccines to the same requirements as other vaccines.

Advertisement

“Are we pro-polio because we require parental consent?” Harris said. “Pro-measles, pro-mumps, everything else? And I take it personally as someone who has a mother, who is a breast cancer survivor, to be accused of saying, ‘I’m pro-cancer.’”

The measure heads to Gov. Kim Reynolds’ desk for final approval.



Source link

Advertisement
Continue Reading

Iowa

Are tornadoes in Iowa possible today? Here’s what forecasters say

Published

on

Are tornadoes in Iowa possible today? Here’s what forecasters say


play

  • Severe storms are expected to hit Iowa again Tuesday, bringing the possibility of tornadoes, large hail, and damaging winds.
  • The National Weather Service has issued an Enhanced Risk for parts of Iowa, indicating a higher chance of organized severe thunderstorms.
  • Forecasters warn that strong tornadoes and giant hail are possible with the most intense storms.
  • The severe weather threat is expected to continue through the week, with another strong system anticipated on Friday.

Severe storms are expected to sweep across Iowa again in the afternoon of Tuesday, April 14, with forecasters warning of all severe weather hazards possible — including tornadoes, large hail and damaging winds — as multiple rounds of storms move through the region through midweek.

The National Weather Service Storm Prediction Center has placed parts of Iowa under an Enhanced Risk (Level 3 of 5) for Tuesday, signaling a higher likelihood of organized severe thunderstorms, including supercells capable of producing strong tornadoes and very large hail.

Advertisement

What is the weather today in Iowa?

Forecasters expect storms to develop late Tuesday afternoon into the evening as a stalled frontal boundary sits across eastern Iowa into Wisconsin. A surge of warm, moisture-rich air moving north from the Missouri Valley will collide with steep mid-level lapse rates and strong wind shear, creating an environment supportive of severe storms.

If storms can form, they are expected to quickly become supercells.

“Large to giant hail and an intense tornado will be possible with the strongest storms,” the Storm Prediction Center noted, especially where wind shear is maximized near surface boundaries.

Are tornadoes in Iowa possible?

Yes — tornadoes are possible across Iowa Tuesday afternoon and evening, though forecasters say the setup is still uncertain and depends on how storms evolve during the day, according to the National Weather Service.

Advertisement

A key factor is a “cap” in the atmosphere that could delay or limit storm development, making the exact timing and placement of storms difficult to pin down early.

Even if afternoon storms remain scattered, activity is expected to increase later Tuesday night as a low-level jet strengthens over the Plains and Midwest. That pattern should help trigger more widespread thunderstorms, especially across southern and central Iowa.

Some of these storms may become elevated above the surface overnight, which could slightly reduce the tornado threat at that point. However, that setup would still support hazards such as heavy rainfall, frequent lightning and hail, particularly in stronger storm clusters.

Advertisement

Still, forecasters say all severe weather hazards remain on the table.

Tornadoes are possible, and a few could be strong if storms stay isolated and develop into discrete supercells.

Large to giant hail is also a concern within the strongest rotating storms that form along boundaries in the warm sector.

Damaging wind gusts may become more widespread later in the evening if storms organize into larger clusters or storm complexes moving across the state.

Advertisement

Storms continue through Friday

Additional severe weather is possible on Wednesday as another upper-level disturbance moves into the region. The exact risk will depend on how Tuesday’s storms evolve and how much instability remains in place.

If conditions recover, supercells with all hazards — including tornadoes — could redevelop across parts of Iowa during peak daytime heating. For now, forecasters have maintained a Slight Risk (Level 2 of 5) for Wednesday.

The active pattern does not end midweek. Another strong system is expected on Friday, bringing a new round of severe storms across much of Iowa ahead of a fast-moving cold front.

Behind it, temperatures will drop sharply over the weekend, with highs falling into the 40s and 50s and a hard freeze possible in northern areas by Saturday night.

Advertisement

Iowa weather radar

Iowa weather watches and warnings

Here are the watches and warnings for the area.

Stay informed. Get weather alerts via text.

Brandi D. Addison covers weather across the United States as the Weather Connect Reporter for the USA TODAY Network. She can be reached at baddison@gannett.com.



Source link

Continue Reading

Iowa

Tornadoes and hail reported across northern Iowa counties

Published

on

Tornadoes and hail reported across northern Iowa counties


Tornadoes and hail reported across northern Iowa counties

Advertisement

KCCI EIGHT NEWS AT TEN STARTS NOW. GOOD EVENING. IT HAS BEEN AN ACTIVE EVENING IN NORTHERN IOWA. ACTIVE WEATHER EVENING. THIS PICTURE SENT TO US BY STEVE FITCHETT SHOWS A TORNADO ON THE GROUND NEAR GILLETT GROVE. YOU CAN SEE THE DEBRIS KICK UP THERE. THIS WAS IN CLAY COUNTY. THIS WAS A TORNADO WARNED STORM NEAR THAT AREA. TONIGHT. A TORNADO WARNED STORM ALSO MOVED THROUGH KOSSUTH COUNTY THIS EVENING. THAT’S A LIVE LOOK RIGHT NOW FROM ALGONA. THANKFULLY THE TORNADO WATCH FOR THE COUNTY JUST EXPIRED AT THE TOP OF THE HOUR, SO IT SHOULD BE A MUCH CALMER NIGHT AHEAD. THE STORM ROLLED THROUGH SANBORN THIS AFTERNOON. TAKE A LOOK AT THIS. ALYSSA BECKER SENT US THESE PICTURES OF THE HAIL THAT FELL THERE TODAY. THAT’S A BIG HAIL AND DOES SOME DAMAGE. ABSOLUTELY. WE SAW EVEN THE LIVE LOOK FROM ALGONA. YOU SAW SOME LIGHTNING THERE. SO EVEN FOR THESE AREAS THAT ARE OUT OF KIND OF THE ROUGH STUFF THERE, JASON, STILL A LITTLE BIT OF A, YOU KNOW, I DON’T KNOW, THINGS THAT CATCHES THEIR EYE TONIGHT. ABSOLUTELY. THERE’S

Advertisement

Tornadoes and hail reported across northern Iowa counties

Updated: 11:16 PM CDT Apr 13, 2026

Editorial Standards

Advertisement

Severe storms swept through northern Iowa Monday evening, bringing tornadoes and hail to several counties.A tornado was spotted on the ground near Gillett Grove in Clay County, as shown in a photo sent by Steve Fitchett. The area experienced a tornado-warned storm Monday night. A tornado-warned storm also moved through Kossuth County this evening. A live view from Algona showed the conditions, and the tornado watch for the county expired at 10 p.m.Earlier in the day, the storm rolled through Sandborn, bringing hail to the area. Alyssa Becker shared pictures of the hail from the scene.

Severe storms swept through northern Iowa Monday evening, bringing tornadoes and hail to several counties.

Advertisement

A tornado was spotted on the ground near Gillett Grove in Clay County, as shown in a photo sent by Steve Fitchett. The area experienced a tornado-warned storm Monday night.

A tornado-warned storm also moved through Kossuth County this evening. A live view from Algona showed the conditions, and the tornado watch for the county expired at 10 p.m.

Earlier in the day, the storm rolled through Sandborn, bringing hail to the area. Alyssa Becker shared pictures of the hail from the scene.

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