Foros del Web » Programando para Internet » Javascript »

De 2 funciones solo funciona 1

Estas en el tema de De 2 funciones solo funciona 1 en el foro de Javascript en Foros del Web. Hola a todos! Tengo este código que está en la siguiente página con solapas pero al presionar en cada una de ellas, no me muestran ...
  #1 (permalink)  
Antiguo 05/02/2009, 06:20
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 7 meses
Puntos: 1
De 2 funciones solo funciona 1

Hola a todos! Tengo este código que está en la siguiente página con solapas pero al presionar en cada una de ellas, no me muestran su contenido. Una función mantiene ACTIVA la solapa que se está mostrando y la otra DEBERIA mostrar el contenido de las demas solapas.
No me tira error la página, pero creo que hay un "conflicto" entre ellas .

Este es el código y creo que el tema está aquí:
Código:
function init(){
	for(var i=2; i<=4; i++){
		document.getElementById('contenido'+i).style.display = 'none';
	}
}

function viewSection(id,total){
	for (var i=1; i<=4; i++){
		if(i!=id){
			document.getElementById('contenido'+i).style.display = 'none';
		}else{
			document.getElementById('contenido'+i).style.display = 'block';
		}
	}
}

	function aggEvento(){
		var links = document.getElementById('menu').getElementsByTagName('a');
		for(i=0; links[i]; i++){
			links[i].onclick = function(){
				var links = document.getElementById('menu').getElementsByTagName('a');
				for(j=0; links[j]; j++){
					links[j].className = "";
				}
				this.className = 'current';
			}
		}
	}
Y esta es la web:

SOLAPAS QUE NO MUESTRAN SU CONTENIDO

Creo que puse una ensalada, no?

Gracias a todos y saludos.

MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 05/02/2009, 06:53
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: De 2 funciones solo funciona 1

marx, estamos, nuevamente, en el mismo problema... a mi me pasa lo mismo: tendo dos funciones, pero solo una funciona!!

Y estamos hablando de lo mismo, de mantener activo un link y mostrar un contenido. En el foro de CSS me parece que responden mas, por mas que mikmoro se enoje conmigo, jajaja.

Si logras resolverlo, por favor, pasame la data!! O si alguien nos quiere ayudar, mejor!
Un saludo...

Pablo.
  #3 (permalink)  
Antiguo 05/02/2009, 10:56
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 7 meses
Puntos: 1
Respuesta: De 2 funciones solo funciona 1

Holaaaaa!!!!!! Bueno, voy a postear esto aquí y también en CSS porque no estoy seguro si el problema está en la parte de javascript o en la parte del CSS.

Me acabo de dar cuenta que en FIREFOX FUNCIONA pero en IE NO :(

La cuestión es que LOGRÉ que me muestre los datos de las solapas pero la SEGUNDA SOLAPA NO QUEDA ACTIVADA.

Por un lado creo que el tema sería combinar los scripts, cosa que no sé como hacerlo, ya que una parte trabaja LLAMANDO al contenido de las solapas y la otra ACTIVA o DESACTIVA las solapas.

Si le saco uno de los 2 scripts, funciona, pero a medias... o sea, funciona una cosa o la otra, pero no ambas.

Los scripts son estos:

Script para llamar a las solapas
Código:
var cajasmicrosup = new Array(
				'Videos',
				'Fotos');
		var microsup = new Estadisticas(cajasmicrosup,'Sup');


function Estadisticas(cuales,activo){
	var cajas = cuales;
	var estilo = activo;
	var div = null;
	var fechaarchivo = null; 
	var objeto = null;
	
	this.crear = crear;
	function crear(){
		objeto = new AjaxDiv(fechaarchivo,div);
	}

	this.solapas = solapas;
	function solapas(cual){
		//div = 'aj' + cual;
		for (i=0;i<cajas.length;i++){
			var divcual = document.getElementById('li' + cajas[i]);
			var divmayor = document.getElementById(cajas[i]);
			if(cajas[i] == cual){
				divcual.className = estilo;
				divmayor.style.display = 'block';
			} else{
				divcual.className = '';
				divmayor.style.display = 'none';
			}
		}
	}

}
Script para ACTIVAS y DESACTIVAR las solapas
Código:
	function aggEvento(){
		var links = document.getElementById('indentmenu').getElementsByTagName('a');
		for(i=0; links[i]; i++){
			links[i].onclick = function(){
				var links = document.getElementById('indentmenu').getElementsByTagName('a');
				for(j=0; links[j]; j++){
					links[j].className = "";
				}
				this.className = 'current';
			}
		}
	}
Y el HTML trabaja de esta manera:
Código HTML:
<body onload="aggEvento()">
  <div class="indentmenu" id="indentmenu">
    <ul>
	<li><a id="livideo" href="javascript:microsup.solapas('Videos');" class="current"></a></li>
	<li><a id="lifotos" href="javascript:microsup.solapas('Fotos');" class=""></a></li>
    </ul>
</div>

<div class="Est Caja">
	        <li id="liVideos" class="Sup">
		  <div style="display: block;" class="Cont" id="Videos">
		ACA APARECIERON LOS VIDEOS

                  </div>
              </li>

              <li id="liFotos" class="Sup">
		  <div style="display: none;" class="Cont" id="Fotos">
  		ACA APARECIERON LAS FOTOS, PERO LA SOLAPA NO QUEDA ACTIVADA 
                 </div>
              </li>
</div>				  
</body> 
Y acá está la web donde aparece todo lo expuesto:
http://www.newgym.com.ar/x/demo6.html

Ahora...
- ¿por que las solapas funcionan en FIREFOX y en IE no?
- ¿se puede solucionar esto?
- ¿hay que modificar los códigos, hay algo que hice mal?

Ya casi lo tenemosssssss !!!!!!!!!!!!!! Gracias a todos uds.

Saludos. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 05/02/2009, 14:06
 
Fecha de Ingreso: septiembre-2008
Ubicación: Nuñez, Capital Federal
Mensajes: 423
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: De 2 funciones solo funciona 1

a mi me pasa lo mismo con mi codigo! En IE se desmarca.... en cambio en Opera, queda marcado... lo mismo me pasa con tu codigo, en opera se queda marcado...

sabes cual es el problema?? El maldito IE.... eso es.
  #5 (permalink)  
Antiguo 06/02/2009, 08:08
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 7 meses
Puntos: 1
Respuesta: De 2 funciones solo funciona 1

Ya me lo solucionó Mikel aquí amigo:
http://www.forosdelweb.com/f53/consu...ml#post2777853

Salutes. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:17.