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

"Meu marido confessou que gostava de transar com travesti"

"Depois que descobri, nosso casamento acabou em dois meses" - iStock
"Depois que descobri, nosso casamento acabou em dois meses" Imagem: iStock

de Universa

29/06/2020 04h00

A primeira experiência amorosa da produtora Mercedes, 48, de São Paulo, ainda é considerada por ela a mais marcante de sua vida amorosa e sexual. Seu primeiro marido, com o qual ela perdeu a virgindade aos 17 anos, confessou, pouco tempo depois do casamento, que gostava de fazer sexo com travestis.

Ela diz que eles tinham uma vida sexual boa e uma relação feliz, de maneira geral, e que a desconfiança só começou quando um amigo em comum deixou escapar que seu marido tinha saído com um professor gay no ado. "Fiquei com aquilo na cabeça. Então ei a estranhar algumas coisas, como a raiva que ele sentia de gays, e quando eu viajava para visitar a minha mãe, ele dizia que sentia tanta saudade, que dormia vestindo uma calcinha minha", contou ao podcast Sexoterapia.

Mercedes começou a provocar o marido, dizendo que gostava de ver dois homens juntos, até que um dia ele abriu o jogo. Mas a confissão foi muito além do que ela esperava. "Quando ele me disse que gostava de transar com travestis, foi um choque muito grande, eu não consegui lidar. Como assim ele queria um homem que tinha um corpo de mulher, se ele já tinha eu?", questiona. O casamento acabou dois meses depois.

Competição x frustração

A dificuldade que Mercedes teve para aceitar a atração do marido por travestis foi maior do que aceitar a atração deles por outros homens, como ela verbalizou. "Essa reação pode ter relação com a nossa tendência a competir com o outro. E quando fazemos isso, queremos ganhar. Nesse caso, como competir com uma pessoa que trem atributos femininos e masculinos? Não tem como", afirma Ana Canosa, sexóloga e apresentadora do podcast.

Segundo Ana Canosa, essa possível inveja de um corpo que tem os dois atributos surge porque temos de elaborar nossas diferenças em relação ao longo da vida, principalmente na infância, que é quando, segundo o psicanalista austríaco Sigmund Freud, surge a inveja do pênis. "Freud foi a primeira pessoa que fez a distinção entre o sexo biológico e a sexualidade, em 1903. Atualmente, a inveja do pênis é muito mais entendida como inveja de aquilo que eu não possuo, que tem a ver com a diferença a comparação", conclui.

Acompanhe o Sexoterapia

A inveja dentro da nossa vida amorosa e sexual e como ela se mistura ao ciúme foi tema do podcast Sexoterapia. Em sua terceira temporada o podcast vai falar do sexo e os sete pecados capitais. Nesse episódio, as apresentadoras Marina Bessa, editora chefe de Universa, e Ana Canosa, sexóloga, recebem a jornalista Martha Mendonça, do site de humor Sensacionalista.

Sexoterapia está disponível no UOL, no Youtube de Universa e nas plataformas de podcasts, como Spotify, Apple Podcasts, no Castbox e Google Podcasts.