3
respostas

Clicar no menu e página aparecer no iframe

Então. Não estou conseguindo fazer o seguinte: Tenho um menu com submenus vertical. Ao seu lado direito um iframe. O que quero é primeiro quando a página carregar já aparecer no iframe o conteúdo do primeiro menu. Em segundo, quando eu clicar em um menu a página relativa a esse menu aparecer no iframe. Neste exato momento estou fazendo o seguinte: Para carregar uma página direto no iframe assim que o site for carregado estou utilizando:

const frameElement = document.getElementById('#frame') frameElement.addEventListener("load", erasmus)

function erasmus() { frameElement.setAttribute('src', './menu-lateral/arasmus/index.html') }

Obs: #frame é o id que dei para o iframe que está no index.html iframe id="frame" src="" frameborder="0">

Depois quero utilizar uma estrutura para clicar no menu e sua respectiva página aparecer dentro do mesmo iframe substituindo o atual.

Podem me ajudar?

A estrutura no html está assim:

e eu divido as duas divs uma para o menu lateral e a outra para o iframe com grid no css:

.navigation { margin-top: 64px; display: grid; grid-template-columns: 1fr 4fr; gap: 26px; }

Desde já agradeço pela ajuda!

3 respostas

Fala ai Dorimar, tudo bem? Vamos lá:

O que quero é primeiro quando a página carregar já aparecer no iframe o conteúdo do primeiro menu

Nesse caso, você pode deixar o src do iframe igual ao valor do href do menu de forma fixa no HTML

Em segundo, quando eu clicar em um menu a página relativa a esse menu aparecer no iframe

Nesse caso, o que você pode fazer é ouvir o click em cada link do menu, quando um link for clicado, você pega o href dele e seta no src do iframe.

Espero ter ajudado.

Oi Matheus. Bom dia. Muito obrigado pelas dicas, vou testá-las e te retorno. Bom sábado!

Magina Dorimar, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software