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

Turismo em túneis vulcânicos encanta turistas nas Ilhas Canárias

Luiza Sahd

Colaboração para o UOL, de Lanzarote (Ilhas Canárias)

19/07/2016 18h50

Já pensou em conhecer um dos maiores túneis vulcânicos do mundo, com 6km de extensão acima do nível do mar e 1,5km de galerias subterrâneas, formadas por explosões de lava e adaptadas para a visitação do público geral?

Essa é a Cueva de Los Verdes, localizada em Lanzarote, nas Ilhas Canárias. O eio é marcante não apenas pela beleza das câmaras subterrâneas em até três níveis, iluminadas cuidadosamente para que as paredes de pedra pareçam obras de arte espontâneas.

Por lá, até o mais claustrofóbico dos visitantes fica à vontade, graças à temperatura constante de 19 °C garantida pelo vento que permeia os túneis e pelo silêncio apaziguante do ambiente.

A soma de fatores como temperatura e acústica agradáveis acabou fazendo com que fosse construído em Cueva um auditório perfeito para concertos de música clássica. Na outra ponta das cavernas, chamada Jameos del Agua, há ainda uma badalada sala de cinema mediterrânea com capacidade para 550 espectadores.

Nestes mesmos túneis, seis séculos atrás, os nativos lanzarotenhos se abrigavam da natureza selvagem e dos ataques da colonização espanhola. A paisagem lunar de Lanzarote também já foi cenário para mais de 40 filmes -- em sua maioria, e não por acaso, longas de ficção científica.

Entre os títulos, estão "Um Milhão de Anos Antes de Cristo" (1966), "Inimigo Meu" (1985), e "Duelo de Titãs" (2000), além de "Abraços Partidos"(2009), dirigido por Pedro Almodóvar e estrelado por Penélope Cruz.

Cueva de Los Verdes
Quando: De 1 de julho a 30 de setembro, das 10h até às 19h (entrada permitida até às 18h)
Onde: 35520 Haría, Las Palmas
Quanto: 9* euros para adultos (R$ 32,39, em valores convertidos em 19/07/2016)  ou 4,50* euros para crianças de 7 a 12 anos (R$ 16,20, em valores convertidos em 19/07/2016)
Mais informações: www.turismolanzarote.com

*Preços pesquisados em junho de 2016 e sujeitos a alterações