Foros del Web » Programando para Internet » Javascript »

Cómo evitar que se me encimen las divs?

Estas en el tema de Cómo evitar que se me encimen las divs? en el foro de Javascript en Foros del Web. Hola a todos!!!!!!!!!!!!! Acabo de resolver el problema que tenía con una función js (jquery) - pero se me presenta otro bastante incómodo. En una ...
  #1 (permalink)  
Antiguo 21/08/2010, 16:22
mdo
 
Fecha de Ingreso: junio-2008
Mensajes: 44
Antigüedad: 15 años, 10 meses
Puntos: 0
Cómo evitar que se me encimen las divs?

Hola a todos!!!!!!!!!!!!! Acabo de resolver el problema que tenía con una función js (jquery) - pero se me presenta otro bastante incómodo. En una página, tengo tres btns que al pulsarlos muestra a su derecha el texto correspondiente. Hasta ahí todo bien, pero... si pulso el primero (se me despliega el texto correspondiente, claro) y luego pulso el segundo, el texto de este me aparece encima del anterior!!!! y si pulso el tercero, se encima a los dos. Horrible!! saben cómo puedo solucionar esto, por favor? aquí les dejo el css

Código:
<style type="text/css">
		#ind {
			width:410px;
			height:410px;
			border-left:1px #f90 solid;
			margin-left:474px;
			padding-right:55px;
			margin-top:50px;
			display:none;
			position:absolute;
			z-index:600;
		}
 
		#colec {
			width:450px;
			height:430px;
			border-left:1px #f90 solid;
			margin-left:474px;
			margin-top:50px;
			overflow:scroll;
			overflow-x:hidden;
			display:none;
			position:absolute;
			z-index:600;
		}
		
		#publ {
			width:410px;
			height:430px;
			border-left:1px #f90 solid;
			float:right;
			margin-left:474px;
			margin-top:50px;
			display:none;
			overflow:hidden;
			position:absolute;
			z-index:600;
		}
	</style>
y aquí el js:

Código:
<script type="text/javascript">
		$(document).ready(function(){
			$(".btn1").click(function (){
				$("#ind").slideToggle("slow");
				visibility:true;
				(this).toggleClass("active");
			});
			$(".btn2").click(function (){
				$("#colec").slideToggle("slow");
				(this).toggleClass("active");
				visibility:true;
			});
			$(".btn3").click(function (){
				$("#publ").slideToggle("slow");
				(this).toggleClass("active");
				visibility:true;
			});
		});
	</script>
por si quieren ver el ejemplo:
lo pueden ver aquí
Les estaré enormemente agradecida por una respuesta. Muchas gracias desde ya.
  #2 (permalink)  
Antiguo 21/08/2010, 20:00
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Cómo evitar que se me encimen las divs?

XD, la ùnica manera de evitar eso es ocultar todos los divs de los mensajes y solo mostrar el seleccionado, tambien otra forma màs fàcil de hacerlo es agregarle un fondo a los div's.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #3 (permalink)  
Antiguo 22/08/2010, 06:45
mdo
 
Fecha de Ingreso: junio-2008
Mensajes: 44
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Cómo evitar que se me encimen las divs?

pues claro, America. Pero no logro hacerlo, algo me falta en js, yo añadi lo siguiente:

Código:
<script type="text/javascript">
		$(document).ready(function(){
			$(".btn1").click(function (){
				$("#ind").slideToggle("slow");
				visibility:true;
				(this).toggleClass("active");
				("#colec", "#publ").hide();
			});
			$(".btn2").click(function (){
				$("#colec").slideToggle("slow");
				(this).toggleClass("active");
				("#ind", "#publ").hide();
				visibility:true;
			});
			$(".btn3").click(function (){
				$("#publ").slideToggle("slow");
				(this).toggleClass("active");
				("#colec", "#ind").hide();
				visibility:true;
			});
		});
	</script>
pero no me funciona. Podrías ayudarme con el código? cómo declaro las funciones que mientras muestre una div, las otras queden ocultas? Muchas gracias
  #4 (permalink)  
Antiguo 22/08/2010, 11:07
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Cómo evitar que se me encimen las divs?

Borrar todo el script y escribe esto

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.  var divs = ["#nada","#ind","#colec","#publ"];
  3.  $("#btnera a").click(function(){
  4.    for(var x in divs) {$(divs[x]).hide();}
  5.    $(divs[$(this).attr("class").split("btn")[1]]).slideDown();
  6.  });
  7. })

Hay formas mas fáciles pero haz un juego de clases con los divs que vas a trabajar.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */

Etiquetas: Ninguno
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 16:30.