;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Esse conteúdo é antigo

Vídeo: Chuva faz rio subir e 4 trabalhadores ficam ilhados por horas em SC

Do UOL, em São Paulo

03/05/2022 18h07Atualizada em 03/05/2022 20h38

Quatro trabalhadores de uma lavoura na cidade de Santo Amaro da Imperatriz, em Santa Catarina, foram resgatados pelo Corpo de Bombeiros hoje após arem a noite ilhados na plantação.

O grupo chegou ao trabalho, na localidade de Vargem do Braço, na manhã de ontem, mas não conseguiu sair do local porque o nível do rio que corta a propriedade subiu abruptamente após chuvas.

Um alerta vermelho foi emitido para a região por causa de tempestades. De acordo com o Corpo de Bombeiros de Santa Catarina, o estado de saúde de uma das vítimas, que usava remédios controlados para diabetes, preocupava a corporação. No momento do resgate, porém, todos tinham estado de saúde estável.

Um vídeo do momento em que um bote foi usado para retirar as vítimas do local foi divulgado pelo Corpo de Bombeiros. Nas imagens, é possível ver a força do rio, que impediu que os lavradores voltassem a pé para casa.

Chuvas trazem transtornos em SC e RS

Chuvas deixaram pelo menos três pontes submersas no município de Bom Jesus (SC) - Defesa Civil de Bom Jesus - Defesa Civil de Bom Jesus
Chuvas deixaram pelo menos três pontes submersas no município de Bom Jesus (SC)
Imagem: Defesa Civil de Bom Jesus

Na cidade de Bom Jesus, a 106 quilômetros de Florianópolis, três pontes ficaram submersas pela água do Rio Cerquinha, Rio Moraes e do Rio Touros, que também registraram aumento de nível por causa das chuvas.

O transporte escolar da região foi suspenso por risco de acidentes. A Defesa Civil afirmou que está em alerta e distribuiu lonas para moradores de casas localizadas em áreas de risco.

Em Bento Gonçalves, ponte que liga cidade a Cotiporã ficou submersa pelo Rio das Antas - Redes sociais/Reprodução - Redes sociais/Reprodução
Em Bento Gonçalves, ponte que liga cidade a Cotiporã ficou submersa pelo Rio das Antas
Imagem: Redes sociais/Reprodução

No Rio Grande do Sul, a ponte que liga as cidades de Cotiporã e Bento Gonçalves ficou coberta pelo Rio das Antas. O tráfego de veículos foi suspenso na região até que o nível da água do rio diminua.

O Corpo de Bombeiros de Santa Catarina divulgou uma série de dicas de segurança nas redes sociais para pessoas em áreas alagadas. Entre elas, estão desligar o quadro de luz das residências; levar crianças e idosos para locais seguros e evitar caminhar em áreas alagadas por causa do risco de choque elétrico.

Mau tempo no Sul do Brasil

As fortes chuvas que atingem a região são resultados de um ciclone extratropical que pode levar chuvas de até 300 milímetros, raios e ventos de até 130 km/h até o fim de semana na área de litoral do Rio Grande do Sul e de Santa Catarina.

De acordo com o MetSul, em algumas localidades — especialmente do Norte e litoral de Santa Catarina —, a previsão é ainda mais preocupante, com chuvas da ordem de 300 mm a 500 mm até quinta-feira (5), ou seja, entre quatro ou cinco vezes o esperado para todo o mês de maio.