Ir para conteúdo

POWERED BY:

Arquivado

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

romulorasec

Menus Abas AJAX + ASP.

Recommended Posts

Pessoal é o seguinte, o menu já tá pronto, a questão é naum consigo, deixar um menu a escolha já selecionado, mostrando os dados da quele menu, pois como esta fica em branco, so apareci se clicar em algum, mas quero carregar ja com algum menu de minha escolha carregado exibindo os dados dele.

Lenbrando que não conseguir tb, fazer com que exiba dados referentes a quele menu clicado, consegui somente carregar a pagina q exibe os dados referente a quele menu clicado se tiver alguma sugesão pra melhora-lo aceito de bom gosto, acho q esse codigo poderia até ficar la no banco de scripts o que acham.

 

Segue o codigo abaixo:

 

index.html

 

<html>

	<head>
		
		<title>Menu com ajax </title>
		
		<style type="text/css">
		
			body {
			
				position:relative;
				margin:0 auto;
				text-align:center;
			
			}
		
			#container {
			
				position:relative;
				margin:0 auto;
				width:500px;
				height:300px;
				background:#0D78DA;
				margin-top:50px;
				
			}	
					
			ul {
			
				margin-left:0;
				padding-left:0;
				list-style:none;
							
			}
			
			ul li {
			
				display:inline;
				width:25%;
				float:left;				

			}
			
			ul li a {
			
				font:bold 12px arial;
				float:left;
				width:100%;
				padding:8px 0px;
			
			}
			
			a {
			
				text-decoration:none;
				outline:0;
			
			}
			
			a.vermelho, div.vermelho {
			
				background:red !important;
				color:white;
			
			}
			
			a.vermelho:hover {
			
				background:#F36;
				
			}
			
			a.azul, div.azul{
			
				background:#0D78DA !important;
				
				color:yellow;
			
			}
			
			a.azul:hover {
			
				background:#0D78FF !important;
				
			}
			
			a.verde, div.verde {
			
				background:#090 !important;
				color:yellow;
			
			}
			
			a.verde:hover {
			
				background:#0A0;
				
			}
			
			a.preto, div.preto {
			
				background:#333 !important;
				color:yellow;
			
			}
			
			a.preto:hover {
			
				background:#999;
				
			}
			
				
		</style>
		
		<script type="text/javascript" src="ajax.js"></script>
		<script type="text/javascript">
		
			function mudacor(obj) {
				
				document.getElementById("receber").innerHTML = "<img src='ajax-loader.gif' alt='carregando...' />";
				
				document.getElementById(obj).parentNode.parentNode.parentNode.className = document.getElementById(obj).className;
				
				RequestGET(obj+".html","receber");
				
			}
			
			function chamaAzul() {
			
				RequestGET("azul.html","receber");
			
			}
			
			function chamaPreto() {
			
				RequestGET("preto.html","receber");
			
			}
		
		</script>
		
		
	</head>
	
	<body>
		
		
		<div id="container">
		
			<ul>
				
				<li>
					<a href="java script:void(0)" class="azul" id="azul" onClick="mudacor(this.id);">Azul</a>
				</li>
				<li>
					<a href="java script:void(0)" class="vermelho" id="vermelho" onClick="mudacor(this.id)">Vermelho</a>
				</li>
				<li>
					<a href="java script:void(0)" class="verde" id="verde" onClick="mudacor(this.id)">Verde</a>
				</li>
				<li>
					<a href="java script:void(0)" class="preto" id="preto" onClick="mudacor(this.id);">Preto</a>
				</li>
			
			</ul>
			
			<div id="receber">
			
			</div>
		
		</div>
		
		
	</body>

</html>

ajax.js

function createAjax() {

try{
	xmlhttp = new XMLHttpRequest();
	return xmlhttp
}catch(ee){
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	return xmlhttp
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		return xmlhttp
		}catch(E){
			return false;
		
		}
	}
}

}


function RequestGET(url,div){


	xmlhttp = createAjax();
	
	var pag=document.getElementById(div);
		
	xmlhttp.open("GET",url,true);
	  
	xmlhttp.onreadystatechange=function() {

		if (xmlhttp.readyState==4){
	
	
	var texto=xmlhttp.responseText
	
	texto=texto.replace(/\+/g," ");
	texto=unescape(texto);

	pag.innerHTML=texto;
	
	
		  
		}
	}
	xmlhttp.send(null);
}

Pagina para mostrar dados e que e chamada pelo ajax, "cosegui assim, mas existe outra forma, sem chamar pagina alguma."

 

<% Response.Charset="ISO-8859-1" %>
<%
' Conecta-se ao Banco de Dados
'--------------------------------------------------------------------------------------------------
Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\banco\bd.mdb") 
Set Rs = Server.CreateObject("adodb.recordset")
%>
<%
Function resumindo(txt,vCrt)
		vX = Mid(txt, 1, vCrt)
		if NOT Len(txt) <= vCrt then
			   resumindo = vX & "..."
		else
				resumindo = vX
		end if
end function
%> 

<%
SQL = "SELECT top 4 * FROM materias where coluna='Celebridades' ORDER BY cod desc"
'SQL = "SELECT * FROM materias"
'Response.Write(sql)
'Response.End()
Set Rs = conn.execute(SQL)
if rs.eof then 
response.write "<font class='texto'>Materia Inexistente!</font>"
else
do while not rs.eof
%>
<div align="justify" class="conteudo2">
<%=Rs("titulo")%></div>

--------------------------------------------------------------------------</div>

<%
rs.movenext
loop
end if
%>

<%
rs.close
set rs = nothing
conn.close
set conn=nothing
%>

Por favor ajudem, Salgado da uma olhada ai beleza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhora a descrição de seu problema, pois não consegui entender. Não precisa postar os códigos novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhora a descrição de seu problema, pois não consegui entender. Não precisa postar os códigos novamente.

 

Seguinte salgado, ao carregar o sistema deveria ja de imediato carregar o conteudo de um link qualquer, pois da forma que está, fica limpo sem nada, pra aparecer algo tem q clicar no menu entede, dai fica meio q feiu, porque estou usando na index, a outra correção que queria fazer é seguinte, ao invéz de carregar uma pagina especifica pra cada link, usaria apenas uma, tipo pegava id do menu clicado e so mostrava os dados da kele menu clicado, não conseguir fazer isso. E não criar uma pagina pra ser carregada de cada um dos links como estar. Voçe pode perdeber isso nos links

 

Celebridades.asp

no caso onde tem vermelho la coloquei Celebridades pra carregar a pagina Celebridades e mostra apenas os dados correspondentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não usa uma página principal?

 

Anderson quero exibir, é o conteudo inicial de um menu, pra nãi ficar vazio. Assim como uma aba qualquer selecionada entende.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todos os dados que estarão em seu menu virão de um BD? Se sim é só apontar para uma página única que fará a requisição dos dados no BD.

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.