;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Bolsa sobe 3,7% e fecha no maior nível em 7 meses; dólar cai, a R$ 3,691

Do UOL, em São Paulo

30/10/2018 17h08Atualizada em 30/10/2018 17h35

Ibovespa, principal índice da Bolsa brasileira, fechou esta terça-feira (30) em alta de 3,69%, a 86.885,71 pontos, após cair 2,24% na véspera. É a maior pontuação de fechamento em sete meses, desde 12 de março (86.900,43 pontos) e a maior alta percentual diária desde 8 de outubro (+4,57%).

dólar comercial fechou em baixa de 0,4%, a R$ 3,691 na venda. Na véspera, a moeda havia subido 1,39%. O valor do dólar divulgado diariamente pela imprensa, inclusive o UOL, refere-se ao dólar comercial. Para turistas, o valor sempre é maior.

LEIA TAMBÉM:

Vivo salta mais de 14%

Entre os destaques da Bolsa, as ações da Telefônica Brasil, dona da operadora Vivo, dispararam 14,36%, após o lucro da empresa saltar 160% no terceiro trimestre.

Também pesaram no desempenho do índice nesta sessão as altas das ações da mineradora Vale (+1,45%), da Petrobras (+5,98%), do Bradesco (+3,89%), do Itaú Unibanco (+2,93%) e do Banco do Brasil (+2,94%).

Reforma da Previdência

Investidores repercutiam a declaração do presidente eleito, Jair Bolsonaro (PSL), de que tentará aprovar ainda neste ano alguns pontos da reforma da Previdência em tramitação no Congresso. Bolsonaro também afirmou que vai tentar impedir que o Congresso aprove neste ano medidas chamadas "pautas-bomba", para que não afetem ainda mais as contas públicas do país.

"O comprometimento com a agenda econômica e priorização da mesma é um forte sinal na direção do mercado, mesmo que a execução disso ainda seja complexa em 2018", disse a corretora XP em relatório.

A reforma da Previdência é considerada pelo mercado como uma das principais medidas para equilibrar as contas públicas.

Cautela no exterior

No exterior, investidores estavam preocupados com uma possível intensificação da guerra comercial entre Estados Unidos e China. Os EUA estariam se preparando para anunciar tarifas sobre todas as importações chinesas remanescentes no início de dezembro se as negociações entre os dois países, planejadas para o próximo mês, não avançarem.

Nesta terça-feira, o presidente dos EUA, Donald Trump, disse acreditar que haverá "um grande acordo comercial" com a China.

Atuação do BC

Nesta terça-feira, o BC vendeu 6.530 contratos de swap cambial tradicional (equivalente à venda futura de dólares), concluindo a rolagem dos US$ 8,027 bilhões que vencem em novembro.

(Com Reuters)

Como comprar dólar ou euro para viajar

TV Folha