;(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

Criança quebra 12 TVs, inunda casa, e causa prejuízo de R$ 47 mil

Mãe elegeu "arte" de Jaxon espalhando terra na sala de sua casa como a pior já feita pelo menino - Reprodução/Mercury Press
Mãe elegeu "arte" de Jaxon espalhando terra na sala de sua casa como a pior já feita pelo menino Imagem: Reprodução/Mercury Press

Colaboração para o UOL, em São Paulo

10/03/2021 15h18Atualizada em 10/03/2021 16h20

Com apenas 3 anos, Jaxon-Carter já conseguiu levar a definição de criança "arteira" a um novo nível. Nos últimos 18 meses, o menino britânico, caçula de quatro irmãos, quebrou 12 televisões, inundou o banheiro de sua casa duas vezes e destruiu a decoração da sala da família, em tons de branco, espalhando terra por todo o cômodo.

Segundo a mãe do garoto, Shyama Underwood, as brincadeiras já custaram pelo menos 6.000 libras aos pais, em torno de R$ 47 mil na cotação atual. E mesmo com o prejuízo alto, ele não parou por aí, e na última semana envolveu até mesmo fogo em suas aventuras.

"Desde que ele começou a andar, não posso dar as costas nem mesmo por um segundo, sem que ele se meta em travessuras. Na semana ada, ele quase colocou fogo na casa ao colocar um de seus brinquedos no forno enquanto eu preparava o jantar - eu voltei e o forno estava em chamas", contou a mãe, de 35 anos, em entrevista ao site britânico Mirror.

Graças ao espírito rebelde, o garoto ganhou da família o apelido de Detona Ralph, em referência ao vilão que enfrenta uma série de aventuras atrapalhadas para provar que é heroi.

Mas Shyama deixa claro que apesar de tentar levar a situação com bom humor, já "riu pra não chorar" com as atitudes do caçula, afirmando que a arte mais "frustrante" do filho foi a destruição da sala com terra.

"Ele ficava olhando para mim com aqueles olhinhos por trás de seu rosto que estava preto, imundo. Eu tive que rir para não chorar", afirmou.

A mulher conta ainda que nenhum de seus outros três filhos, Keaton, de 16 anos, Regan, de 14, e Oakley, de 7, foi tão travesso quanto Jaxon.

"Meus dois filhos mais velhos tinham apenas dois anos de diferença, então pensei que estava preparada para qualquer coisa, mas Jaxon deixa todos no chinelo", concluiu ela.