Foros del Web » Creando para Internet » HTML »

onclick y visibility, se establecen valores iniciales

Estas en el tema de onclick y visibility, se establecen valores iniciales en el foro de HTML en Foros del Web. Hola! Estoy diseñando una web y me da el siguiente problema: al pulsar uno de los botones la capa correspondiente a cada boton deveria cambiar ...
  #1 (permalink)  
Antiguo 05/08/2011, 05:25
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
onclick y visibility, se establecen valores iniciales

Hola!
Estoy diseñando una web y me da el siguiente problema:
al pulsar uno de los botones la capa correspondiente a cada boton deveria cambiar su visibility a "Hidden" menos la que corresponde al boton que cambia a "visible". pero al dar al boton lo hace fugazmente y vuelve a valores iniciales dejando que se vea solo la capa correspondiente al boton "inicio"
necesito ayuda urgente porfavor!
este es el codigo:

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style type="text/css">
#form1 div {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
}
.Botones {
	font-family: Impact;
	font-size: 16px;
	font-style: oblique;
	line-height: normal;
	font-weight: lighter;
	color: #03F;
	background-color: #999;
	letter-spacing: normal;
	text-align: center;
	vertical-align: middle;
	height: 40px;
	width: 100px;
	border: medium double #000;
	cursor: crosshair;
	word-spacing: normal;
	visibility: visible;
}
.posicionamiento {
	background-position: center center;
	overflow: visible;
}
#apDiv1 {
	position:absolute;
	width:547px;
	height:316px;
	z-index:1;
	left: 241px;
	top: 156px;
	visibility: visible;
}
#apDiv2 {
	position:absolute;
	width:547px;
	height:400px;
	z-index:2;
	left: 241px;
	top: 156px;
	visibility: hidden;
}
#apDiv3 {
	position:absolute;
	width:547px;
	height:400px;
	z-index:3;
	left: 241px;
	top: 156px;
	visibility: hidden;
}
#apDiv4 {
	position:absolute;
	width:547px;
	height:400px;
	z-index:4;
	left: 241px;
	top: 156px;
	visibility: hidden;
}
#apDiv5 {
	position:absolute;
	width:547px;
	height:400px;
	z-index:5;
	left: 241px;
	top: 156px;
	visibility: hidden;
}
</style>
<script language="javascript">
function mostrar(num){
for (i=1;i<6;i++)
	if(i>num || i<num){
    	document.getElementById('apDiv'+i).style.visibility =   'hidden' ;
	}
	else{
		document.getElementById('apDiv'+i).style.visibility =   'visible' ;
	}
}
</script>
</head>
<body>
</p>
<form id="form1" name="form1" method="post" action="">
  <div align="center">
    <input name="Bot_inicio" type="submit" class="Botones" id="Bot_inicio" value="Inicio" onclick=
    "mostrar('1');" /> 
    <input name="Bot_juegos" type="submit" class="Botones" id="Bot_juegos" value="Juegos" onclick="mostrar('2');" />
    <input name="Bot_soporte" type="submit" class="Botones" id="Bot_soporte" value="Soporte" onclick=
    "mostrar('3');" />
    <input name="Bot_contacto" type="submit" class="Botones" id="Bot_contacto" value="Contacto" onclick=
    "mostrar('4');" />
    <input name="Bot_voip" type="submit" class="Botones" id="Bot_voip" value="Voip" onclick=
    "mostrar('5');" />
    <div id="apDiv1"><img src="inicio.jpg" alt="" name="Tab_inicio" width="547" height="400" align="absmiddle" id="Tab_inicio" /></div>
    <div id="apDiv2"><img src="juegos.jpg" alt="" name="Tab_juegos" width="547" height="400" id="Tab_juegos" style="background-color: #0000FF" /></div>
    <div id="apDiv3"><img src="soporte.jpg" alt="" name="Tab_soporte" width="547" height="400" id="Tab_soporte" style="background-color: #FFFF00" /></div>
    <div id="apDiv4"><img src="contacto.jpg" alt="" name="Tab_contacto" width="547" height="400" id="Tab_contacto" style="background-color: #FF0000" /></div>
    <div id="apDiv5"><img src="voip.jpg" alt="" name="Tab_voip" width="547" height="400" id="Tab_voip" style="background-color: #00FF00" /></div>
    
  </div>
 
</form>

</body>

</html> 
mil gracias!!!
  #2 (permalink)  
Antiguo 05/08/2011, 06:18
 
Fecha de Ingreso: abril-2008
Ubicación: Santa Fe, Argentina
Mensajes: 41
Antigüedad: 16 años
Puntos: 14
Respuesta: onclick y visibility, se establecen valores iniciales

En qué navegador? En Firefox 5.0 funciona correctamente. De todas formas no explicás demasiado bien cual es el comportamiento, y cual debería ser.

Al cargar la página muestra una imagen con fondo blanco. Al clickear los botones, muestra otras imágenes con otros colores de fondo.

Tener un código válido suele ahorrarte muchos problemas. Existen validadores HTML/XHTML y CSS que reportan si es válido, y sino cuales son los problemas.
http://validator.w3.org/
http://jigsaw.w3.org/css-validator/validator

Al inicio del documento te falta un doctype. Elegí transitional así podés usar style dentro de los tags.
http://es.wikipedia.org/wiki/Declaraci%C3%B3n_de_tipo_de_documento

Para el javascript, dentro de la etiqueta utilizamos el atributo type="text/javascript", y no language. El código javascript siempre debe estar dentro de comentarios HTML o secciones CDATA.
http://www.w3.org/TR/xhtml1/#h-4.8

No uses los elementos <form> e <input> si semánticamente no son parte de un formulario. Existe un elemento llamado <button>, que semánticamente es un botón.

Las imágenes deben tener atributo alt, y no debe estar vacío. El atributo name no existe. Es redundante especificar width y height en la etiqueta si ya lo hiciste anteriormente para el elemento en el CSS. Moví la propiedad background-color a la declaración para el selector.
http://www.w3schools.com/tags/tag_IMG.asp


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. <style type="text/css">
  7. .Botones {
  8.         font-family: Impact;
  9.         font-size: 16px;
  10.         font-style: oblique;
  11.         line-height: normal;
  12.         font-weight: lighter;
  13.         color: #03F;
  14.         background-color: #999;
  15.         letter-spacing: normal;
  16.         text-align: center;
  17.         vertical-align: middle;
  18.         height: 40px;
  19.         width: 100px;
  20.         border: medium double #000;
  21.         cursor: crosshair;
  22.         word-spacing: normal;
  23.         visibility: visible;
  24. }
  25. .posicionamiento {
  26.         background-position: center center;
  27.         overflow: visible;
  28. }
  29. #apDiv1 {
  30.         position:absolute;
  31.         width:547px;
  32.         height:316px;
  33.         z-index:1;
  34.         left: 241px;
  35.         top: 156px;
  36.         visibility: visible;
  37. }
  38. #apDiv2 {
  39.         position:absolute;
  40.         width:547px;
  41.         height:400px;
  42.         z-index:2;
  43.         left: 241px;
  44.         top: 156px;
  45.         visibility: hidden;
  46.     background-color: #0000FF;
  47. }
  48. #apDiv3 {
  49.         position:absolute;
  50.         width:547px;
  51.         height:400px;
  52.         z-index:3;
  53.         left: 241px;
  54.         top: 156px;
  55.         visibility: hidden;
  56.     background-color: #FFFF00;
  57. }
  58. #apDiv4 {
  59.         position:absolute;
  60.         width:547px;
  61.         height:400px;
  62.         z-index:4;
  63.         left: 241px;
  64.         top: 156px;
  65.         visibility: hidden;
  66.     background-color: #FF0000;
  67. }
  68. #apDiv5 {
  69.         position:absolute;
  70.         width:547px;
  71.         height:400px;
  72.         z-index:5;
  73.         left: 241px;
  74.         top: 156px;
  75.         visibility: hidden;
  76.     background-color: #00FF00;
  77. }
  78. <script type="text/javascript">
  79. /* <![CDATA[ */
  80. function mostrar(num){
  81. for (i=1;i<6;i++)
  82.        if(i>num || i<num){
  83.             document.getElementById('apDiv'+i).style.visibility = 'hidden' ;
  84.        }
  85.        else{
  86.                document.getElementById('apDiv'+i).style.visibility = 'visible' ;
  87.        }
  88. }
  89. /* ]]> */
  90. </head>
  91. <div align="center">
  92.     <button class="Botones" onclick="mostrar('1');">Inicio</button>
  93.     <button class="Botones" onclick="mostrar('2');">Juegos</button>
  94.     <button class="Botones" onclick="mostrar('3');">Soporte</button>
  95.     <button class="Botones" onclick="mostrar('4');">Contacto</button>
  96.     <button class="Botones" onclick="mostrar('5');">VoIP</button>
  97.     <div id="apDiv1"><img src="inicio.jpg" alt="Inicio" id="Tab_inicio" /></div>
  98.     <div id="apDiv2"><img src="juegos.jpg" alt="Juegos" id="Tab_juegos" /></div>
  99.     <div id="apDiv3"><img src="soporte.jpg" alt="Soporte" id="Tab_soporte" /></div>
  100.     <div id="apDiv4"><img src="contacto.jpg" alt="Contacto" id="Tab_contacto" /></div>
  101.     <div id="apDiv5"><img src="voip.jpg" alt="VoIP" id="Tab_voip" /></div>
  102. </div>
  103. </body>
  104. </html>

Última edición por Henkka; 05/08/2011 a las 06:31
  #3 (permalink)  
Antiguo 05/08/2011, 06:54
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: onclick y visibility, se establecen valores iniciales

vale, he corregido el form y ya funciona en todos los exploradores. me apunto lo k me has dicho que seguro me viene bien en un futuro. la pagina no esta acabada por eso esta extraño lo de colores y formas XD
muchisimas gracias hennka!!! me has salvado!!! saludos!!

Etiquetas: javascript, onclick, reinicia, visibility, botones
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 08:53.