Foros del Web » Programando para Internet » Javascript »

Problema con display de capas

Estas en el tema de Problema con display de capas en el foro de Javascript en Foros del Web. Hola buenas! Tengo un problemilla, os explico: Tengo dos capas "escondidas" (display:none), de manera que cuando haga dos acciones diferentes (onclick...) se me muestre una ...
  #1 (permalink)  
Antiguo 07/04/2008, 02:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Problema con display de capas

Hola buenas! Tengo un problemilla, os explico:

Tengo dos capas "escondidas" (display:none), de manera que cuando haga dos acciones diferentes (onclick...) se me muestre una u otra ( con funciones javascrip, display:' ' ).

Lo que mes sucede es que en una de las acciones me pone a visible las dos capas!! Cuando yo solo quiero visualizar una en cada momento.

Me pueden echar un cable? Gracias por adelantado!

Saludos desde Lleida
  #2 (permalink)  
Antiguo 07/04/2008, 02:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Problema con display de capas

Accediendo por id no debes tener problema para mostrar una u otra, "display:block", recuerda ocultar la otra...

Si nos muestras el codigo que estas usando te podremos ayudar más facilmente....

Quim
  #3 (permalink)  
Antiguo 07/04/2008, 03:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema con display de capas

Ok, ahí va el código:

Funciones que se llaman via "onclick" en dos botones distintos:

Función 1
Código:
function advertencia_risk(risk){

var name;
name='risk'+risk;

netejar_sms();
document.getElementById("lorisc").value=risk;
document.getElementById("adver_elimi").style.display='';

	if(roig != ''){
		document.getElementById(roig).style.backgroundColor='';
	}
	roig=name;
	document.getElementById(name).style.backgroundColor='#FF0000';

document.getElementById("adver_elimi").style.display='block';	
}
Función 2
Código:
function deleted_risk()
{

document.getElementById("adver_elimi02").style.display='block';
}
Lugar donde se llaman a estas funciones:
Código:
<td id="riskelim<?php echo $row3["id"]; ?>" onmouseover="className='sobre4'" onmouseout="className='fora'" onclick="advertencia_risk('<?php echo $row3["id"]; ?>'); netejar();" style="cursor:hand" width="21" >
Código:
<td  onclick="deleted_risk()" width="50" >
I los dos divs:
Código:
<div id="adver_elimi" style="display:none;position: absolute; width: 449px; height: 210px; z-index: 3; left: 221px; top: 178px; border: 2px solid #000000; background-color: #FFFFFF" >
	
	<table border="0" width="100%" style="border-collapse: collapse; border: 0px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" bordercolor="#000000" id="table1" height="132">
	
	<tr class="fonsdegradat">
		<td width="5%"></td>
		
		<td width="574">
		
				<table border="0" width="94%" style="border-collapse: collapse;" id="table1">
		
			<tr>
				<td colspan="5">
						<span class="text08">&nbsp;</span>
				</td>
			</tr>
			<tr>
		
				<td colspan="5">
						    
					<table border="0" width="102%" style="border-collapse: collapse">
						<tr>
							<td width="13%" style="border-bottom: 2px solid #000000">
							<p align="center">
							<img border="0" src="../../../imagenes/riesgos.gif" width="30" height="30" align="center"></td>
							<td style="border-bottom: 2px solid #000000" width="348">
							<h1>ADVERTENCIA</h1>
							</td>
						
							
						</tr>
					</table>

				</td>
				
						
			</tr>
						

			
			<tr>
			
				<td colspan="5">
			
					&nbsp;</td>
				
			</tr>
			
			<tr>
					<td height="26" colspan="5" >
					<table border="0" width="100%" id="table116">
						<tr>
							<td width="38">
							<p align="center">&nbsp;</td>
							<td width="316">
					<p align="center"><b><font face="Arial" size="2">¿ESTÁ 
					SEGURO QUE QUIERE ELIMINAR ESTE RIESGO? </font></b></td>
							<td>&nbsp;</td>
						</tr>
					</table>
					
					</td>
			</tr>
			
			<tr>	
					<td width="99%" colspan="5">&nbsp;</td>	
											
			</tr>
				
			
			<tr id="acceptar">	
					<td width="11%" >
					&nbsp;</td>	
											
					<td style="border: 1px solid #808080; cursor:hand; " onmouseover="bgColor='#FCFA72'" onmouseout="bgColor=''" onclick="acceptar_advertencia_eva()"  width="31%" >
					<table border="0" width="100%" id="table117">
						<tr>
							<td width="33">
							<p align="center">
							<img border="0" src="../../../imagenes/aceptar.gif" width="25" height="25"></td>
							<td><p align="center">&nbsp;<span style="font-weight: 700; font-size: 8pt">Aceptar</span></td>
						</tr>
					</table>
					</td>	
											
					<td width="16%">
					&nbsp;</td>	
											
					<td style="border: 1px solid #808080; cursor:hand; " onmouseover="bgColor='#FCFA72'" onmouseout="bgColor=''" onclick="tancar_advertencia_eva()" width="31%">
					<table border="0" width="100%" id="table118">
						<tr>
							<td width="31">
							<p align="center">
							<img border="0" src="../../../imagenes/cancelar.gif" width="25" height="25"></td>
							<td><p align="center">&nbsp;<span style="font-weight: 700; font-size: 8pt">Cancelar</span></td>
						</tr>
					</table>
					</td>	
											
					<td width="8%" height="34">
					&nbsp;</td>	
											
			</tr>
				
			
				
			
			<tr>	
					<td width="99%" colspan="5">&nbsp;</td>	
											
			</tr>
				
			
		</table>
</div>


<div id="adver_elimi02" style="display:none;position: absolute; width: 449px; height: 210px; z-index: 3; left: 221px; top: 178px; border: 2px solid #000000; background-color: #FFFFFF" >
	
	<table border="0" width="100%" style="border-collapse: collapse; border: 0px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" bordercolor="#000000" id="table1" height="132">
	
	<tr class="fonsdegradat">
		<td width="5%"></td>
		
		<td width="574">
		
				<table border="0" width="94%" style="border-collapse: collapse;" id="table1">
		
			<tr>
				<td colspan="5">
						<span class="text08">&nbsp;</span>
				</td>
			</tr>
			<tr>
		
				<td colspan="5">
						    
					<table border="0" width="102%" style="border-collapse: collapse">
						<tr>
							<td width="13%" style="border-bottom: 2px solid #000000">
							<p align="center">
							<img border="0" src="../../../imagenes/riesgos.gif" width="30" height="30" align="center"></td>
							<td style="border-bottom: 2px solid #000000" width="348">
							<h1>ADVERTENCIA</h1>
							</td>
						
							
						</tr>
					</table>

				</td>
				
						
			</tr>
						

			
			<tr>
			
				<td colspan="5">
			
					&nbsp;</td>
				
			</tr>
			
			<tr>
					<td height="26" colspan="5" >
					<table border="0" width="100%" id="table116">
						<tr>
							<td width="38">
							<p align="center">&nbsp;</td>
							<td width="316">
					<p align="center"><b><font face="Arial" size="2">¿ESTÁ 
					SEGURO QUE QUIERE ELIMINAR ESTE RIESGO? </font></b></td>
							<td>&nbsp;</td>
						</tr>
					</table>
					
					</td>
			</tr>
			
			<tr>	
					<td width="99%" colspan="5">&nbsp;</td>	
											
			</tr>
				
			
			<tr id="acceptar">	
					<td width="11%" >
					&nbsp;</td>	
											
					<td style="border: 1px solid #808080; cursor:hand; " onmouseover="bgColor='#FCFA72'" onmouseout="bgColor=''" onclick="acceptar_advertencia_eva()"  width="31%" >
					<table border="0" width="100%" id="table117">
						<tr>
							<td width="33">
							<p align="center">
							<img border="0" src="../../../imagenes/aceptar.gif" width="25" height="25"></td>
							<td><p align="center">&nbsp;<span style="font-weight: 700; font-size: 8pt">Aceptar</span></td>
						</tr>
					</table>
					</td>	
											
					<td width="16%">
					&nbsp;</td>	
											
					<td style="border: 1px solid #808080; cursor:hand; " onmouseover="bgColor='#FCFA72'" onmouseout="bgColor=''" onclick="tancar_advertencia_eva()" width="31%">
					<table border="0" width="100%" id="table118">
						<tr>
							<td width="31">
							<p align="center">
							<img border="0" src="../../../imagenes/cancelar.gif" width="25" height="25"></td>
							<td><p align="center">&nbsp;<span style="font-weight: 700; font-size: 8pt">Cancelar</span></td>
						</tr>
					</table>
					</td>	
											
					<td width="8%" height="34">
					&nbsp;</td>	
											
			</tr>
				
			
				
			
			<tr>	
					<td width="99%" colspan="5">&nbsp;</td>	
											
			</tr>
				
			
		</table>
</div>
Bueno a ver si os sirve de más. Muchas gracias. Llevo ya un buen rato con esto y estoy harto!!XD.
Gracias
  #4 (permalink)  
Antiguo 07/04/2008, 09:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Problema con display de capas

Tienes las tablas de dentro de las capas mal cerradas por lo que la segunda capa queda dentro de una tabla de la primera capa y por esto solo se ve cuando la primera capa es visible....

Final primera capa

Código:
          </table>
        </td>
      </tr>
   </table>
</div>
<div id="adver_elimi02" style="display:none;....
Final segunda capa

Código:
       </table>
    </td>
   </tr>
 </table>
</div>

En cuanto a las funciones

Código:
advertencia_risk(risk)
...
document.getElementById("adver_elimi").style.display='';<-no es necesario
...
document.getElementById("adver_elimi").style.display='block';
Si haces click en los dos botones consecutivamente las dos capas seran visibles una encima de la otra... dependiendo del parametro "z-index" una estara por encima de la otra, como lo tienes (las dos con el mismo z-index:3;) la segunda queda por encima de la primera....

Quim
  #5 (permalink)  
Antiguo 07/04/2008, 09:36
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema con display de capas

Muchas gracias Quim!! Me has ahorrado más horas de demencia!! Malditas tablas...
Gracias de nuevo

Adéu i salut!
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 07:04.