Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marceloamaralfpolis

Acesso DOM pós .load()

Recommended Posts

Ola pessoal!

 

O CASO

Tenho um site feito na sua maior parte em Jquery. O menu chama páginas em PHP usando o Jquery(pura referencia de IDs das DIVs). Não posso usar o switch porque o site após o render da página solicitada faz perder a instrução de animação do jquery. Assim coloquei tudo no html, mas o site ficou lento demais para carregar porque ele está processando o HTML todinho antes de liberar o acesso ao menu.

 

PROPOSTA

Usar o .load() para gerar o conteúdo. Sem problemas.

 

O PROBLEMA

Cada aba tem um segundo submenu, que clicado abre outra aba com novo conteúdo. O uso do .load() não dá acesso ao DOM, com isso não consigo executar a chamada da segunda e terceira aba de conteúdo.

Preciso usar o .load() para carregar as páginas, mas preciso também acessar o HTML da página carregada para continuar a navegação.

 

o site atual (com problema) : www.engenholanches.com.br/

o site com a proposta : www.engenholanches.com.br/teste/

 

observe que no site com a proposta clicando no menu Engenho, o submenu Historia não é acessível, esse foi carregado por .load().

 

 

 

CODIGO JQUERY

--------------------------------------------

 

$(".engenho a").click(function () {
$('.cont_engenho').animate({
"marginLeft": recolhe_x+"px"
}, 500);

$('.cont_engenho').load('./engenho.php', function(){$('.cont_engenho').animate({
"marginLeft": pos_x+"px"})
},500);

});

 

$(".historia a").click(function () {
$('.cont_historia').animate({
"marginLeft": recolhe_x+"px"
}, 500);
$('.cont_historia').load('./historia.php').animate({
"marginLeft":pos_x+"px"
},500);
});

 

 

 

 

HTML paginas.php

-------------------------------------------------------

Abas de rolagem de container para o conteúdo. Esse arquivo está incluso no index.php

 

<div class="cont_engenho">



</div>


<div class="cont_historia" >


</div>

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma lida sobre o método .live(), e caso vc esteja usando as novas versões do jQuery, use o .on() no estilo delegate.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.