Ir para conteúdo

POWERED BY:

Arquivado

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

MarKteus

é possível usar o evento onLoad para chamar duas funções JavaScript ?

Recommended Posts

Olá

 

<body style="text-align:center" onload="abrirPag('page1.htm','divPag1'),abrirPag('page2.htm','divPag2')">

 

é possível chamar a função duas vezes no onLoad acima ?

 

ela funciona assim: Usando o Ajax a página especificada é carregada na div indicada, porém só uma pagina esta sendo carregada e as vezes nenhuma, mas não ocorre erro de JavaScript o que pode estar acontecendo ? Como corrigir ?

 

A idéia é que estas páginas fiquem lado a lado

 

No aguardo de alguma luz

 

<!--;-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">
window.onload = function()
{
   funcao1();
   outra();
   abrirPag('page1.htm','divPag1');  
}

se você for chamar 'inline', separe com ; (ponto e virgula)

Compartilhar este post


Link para o post
Compartilhar em outros sites

function attachLoader(f){

var old = window.onload;

window.onload = function(){

if(typeof old == 'function')

old();

if(typeof f == 'function')

f();

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo assim:

 

<script type="text/javascript">

window.onload = function(){

abrirPag('page1.htm','divPag1');

abrirPag('page2.htm','divPag2');

}

</script>

Nada acontece a não os gif´s animados, mostrando que algo está para ser exibido, mas qdo comento uma das linhas aí o outro aparece normalmente e vice-versa. O certo é uma página aparecer do lado da outra

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá... poste a tua função abrirPag(), junto com o html minimo necessário para vermos o problema ocorrendo.

 

acredito que seja melhor, nesse teu caso, ter uma instância individual para cada requisição do objeto ajax, em vez de usar ele como variavel global.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá... poste a tua função abrirPag(), junto com o html minimo necessário para vermos o problema ocorrendo.

 

acredito que seja melhor, nesse teu caso, ter uma instância individual para cada requisição do objeto ajax, em vez de usar ele como variavel global.

 

Div´s em Index.htm

<div id="menuLateral">
   	</div>
    <div id="homePizzas">
   	</div>

CSS´s dessas Divs

#homePizzas
{
	width:69%;
	float:left;
	position:relative;
	text-align:center;
	border:solid #e7e8da 1px;
}

#menuLateral
{
	width:30%;
	float:left;
	position:relative;
	text-align:center;
	border:solid #e7e8da 1px;
}

 

Chamada do Ajax

<div id="pizzaiolo" class="gifsExtras">
        	<img src="img/pizzaiolo.jpg" onload="abrirPag('menuLateral.htm','menuLateral');"  />
        <br />Sugestão do Pizzaiolo</div>
        <div id="delivery" class="gifsExtras">
        	<img src="img/delivery.jpg" onload="abrirPag('homePizzas.htm','homePizzas');" />
        <br />DiskPizza</div>

obs.:estas chamadas estão logo abaixo das Div´s

 

Páginas a serem carregadas em cada Div

<body>
<div id="a" style="position:relative; left:0px; top:0px">
<div class="BordaSup" style="background-image:url(img/bckBordaHomePizza.jpg); background-repeat:repeat-x;"><br /><br />
	<div class="Linha1" style="border-bottom:#999 dotted 1px; text-align:center;">
		 <div class="pizza" style="position:relative; float:left; border:#fff solid 2px">
			<div class="foto"><img src="imgPizzasHome/pizza001.jpg" /></div>
			<div class="descricao" style="text-align:left;font-family:Verdana, Geneva, sans-serif; font-size:10px">Muzzarela,tomate seco, <br/>Presunto</div>
			<div class="preco"><img src="imgPizzasHome/refrigeranteGratis.jpg" /></div>
		 </div>
		 <div class="pizza" style="position:relative; float:left; border:#fff solid 2px">
			<div class="foto"><img src="imgPizzasHome/pizza002.jpg" /></div>
			<div class="descricao" style="text-align:left;font-family:Verdana, Geneva, sans-serif; font-size:10px">Muzzarela,tomate seco, <br/>Presunto</div>
			<div class="preco"><img src="imgPizzasHome/refrigeranteGratis.jpg" /></div>
		</div>
		<div class="pizza" style="position:relative; float:left; border:#fff solid 2px">
			<div class="foto"><img src="imgPizzasHome/pizza003.jpg" /></div>
			<div class="descricao" style="text-align:left;font-family:Verdana, Geneva, sans-serif; font-size:10px">Muzzarela,tomate seco, <br/>Presunto</div>
			<div class="preco"><img src="imgPizzasHome/refrigeranteGratis.jpg" /></div>
		</div>
	</div>
	<div class="Linha2" style="border-bottom:#999 dotted 1px; text-align:center;">
		<div class="pizza" style="position:relative; float:left; border:#fff solid 2px">
			<div class="foto"><img src="imgPizzasHome/pizza004.jpg" /></div>
			<div class="descricao" style="text-align:left;font-family:Verdana, Geneva, sans-serif; font-size:10px">Muzzarela,tomate seco, <br/>Presunto</div>
			<div class="preco"><img src="imgPizzasHome/refrigeranteGratis.jpg" /></div>
		</div>
		<div class="pizza" style="position:relative; float:left; border:#fff solid 2px">
			<div class="foto"><img src="imgPizzasHome/pizza005.jpg" /></div>
			<div class="descricao" style="text-align:left;font-family:Verdana, Geneva, sans-serif; font-size:10px">Muzzarela,tomate seco, <br/>Presunto</div>
			<div class="preco"><img src="imgPizzasHome/refrigeranteGratis.jpg" /></div>
		</div>
		<div class="pizza" style="position:relative; float:left; border:#fff solid 2px">
			<div class="foto"><img src="imgPizzasHome/pizza006.jpg"/></div>
			<div class="descricao" style="text-align:left;font-family:Verdana, Geneva, sans-serif; font-size:10px">Muzzarela,tomate seco, <br/>Presunto</div>
			<div class="preco"><img src="imgPizzasHome/refrigeranteGratis.jpg" /></div>			
		</div>
	</div>
</div>
</div>
</body>

São duas páginas com os mesmos conteudos mas nomes diferentes (para teste) uma deve aparecer menor (width) que a outra mais lado a lado

 

Ajax

 

function abrirPag(urlPage,divConteiner)
{
	var url = urlPage;
	xmlRequest.onreadystatechange = function mudancaEstado()
	{
	if (xmlRequest.readyState == 4)
		{
			document.getElementById(divConteiner).innerHTML = xmlRequest.responseText;
		}
	}

	xmlRequest.open("GET",url,true);
	xmlRequest.send(null);
	if (xmlRequest.readyState == 1) 
	{
		document.getElementById(divConteiner).innerHTML = "<img src='img/loader2.gif'>";
	}
	return url;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então parece que é oq eu disse mesmo, crie o objeto:

xmlRequest dentro da função abrirPag(), assim você terá um objeto independente para cada requisição, que no teu caso, é o correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então parece que é oq eu disse mesmo, crie o objeto:

xmlRequest dentro da função abrirPag()[/b], assim você terá um objeto independente para cada requisição, que no teu caso, é o correto.

 

você quer dizer fora? Dentro já está http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif ou não ? :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu quis dizer dentro mesmo.

 

Atualmente está 'fora' ^_^, coloque a criação dentro

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja:

http://forum.imasters.com.br/index.php?/topic/403171-pagina-dentro-de-div-ajax-problema-ao-atualizar/

 

criando fora

var xmlHttp = getHTTPObject();
function abre( arq ){
        xmlHttp.open("GET", arq,true);
        xmlHttp.onreadystatechange = function(){
                if (xmlHttp.readyState == 4){
                        id('content').innerHTML = xmlHttp.responseText;
                }               
        }
        xmlHttp.send( null );
}

e agora:

criando dentro

function abre( arq ){
        var xmlHttp = getHTTPObject();
        xmlHttp.open("GET", arq,true);
        xmlHttp.onreadystatechange = function(){
                if (xmlHttp.readyState == 4){
                        id('content').innerHTML = xmlHttp.responseText;
                }               
        }
        xmlHttp.send( null );
}
viu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não deu

 

Fiz igualim seu exemplo, mas parece q até piorou, pois as páginas que antes eram carregadas erroneamente via Ajax, agora não carregadas de jeito nenhum

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.