Foros del Web » Programando para Internet » Javascript »

Botón de javascript solo funciona a la segunda

Estas en el tema de Botón de javascript solo funciona a la segunda en el foro de Javascript en Foros del Web. Buenos días, no estoy muy puesto en javascript y me estoy rompiendo la cabeza con el siguiente código: Código: <script type="text/javascript"> function modificarEstilo(capa) { if ...
  #1 (permalink)  
Antiguo 27/09/2013, 03:08
 
Fecha de Ingreso: septiembre-2013
Mensajes: 5
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta Botón de javascript solo funciona a la segunda

Buenos días,
no estoy muy puesto en javascript y me estoy rompiendo la cabeza con el siguiente código:

Código:
<script type="text/javascript"> 
	function modificarEstilo(capa) { 
	if (capa.style.height == "0px") { 
	capa.style.height = "75px"; 
	}else { 
	capa.style.height = "0px"; 
	} 
	} 
</script> 
<div id="capa">
<form method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
		<input type="text" class="field" name="s" id="s" placeholder="<?php esc_attr_e('search here &hellip;', 'responsive'); ?>" />
		
	</form>
</div>
<div class="boton_buscador"><a href="#" onClick="modificarEstilo(capa)"><img src="<?php echo get_bloginfo('template_url'); ?>/images/find_bottom.jpg" width="75" height="75" alt="Buscar"></a></div>
</div>

Es un botón que al darle aumenta el height de una capa que tiene 0. El problema es que no funciona a la primera, tengo que darle dos veces para que funcione.
¿Sabríais por qué?

Muchas gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 27/09/2013, 07:09
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: Botón de javascript solo funciona a la segunda

Buenas,

es lo normal, porque la primera vez no se cumple la condición del if puesto que no hay ningún height definido, al ejecutarse el else se le asigna un height (aunque sea 0) y por eso la siguiente vez ya se cumple la condición. La solcuión es asignar previamente un height en línea, (si fuera en un fichero css tampoco funcionaría) o bien cambiar la condición del if preguntando por ejemplo si es distinto de 75px.
__________________
tecnawebs.es Diseño web y programación - Modelado 3D.

google plus
  #3 (permalink)  
Antiguo 27/09/2013, 08:15
 
Fecha de Ingreso: septiembre-2013
Mensajes: 5
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Botón de javascript solo funciona a la segunda

Cita:
Iniciado por Tecna Ver Mensaje
Buenas,

es lo normal, porque la primera vez no se cumple la condición del if puesto que no hay ningún height definido, al ejecutarse el else se le asigna un height (aunque sea 0) y por eso la siguiente vez ya se cumple la condición. La solcuión es asignar previamente un height en línea, (si fuera en un fichero css tampoco funcionaría) o bien cambiar la condición del if preguntando por ejemplo si es distinto de 75px.
Tecna, muchas gracias eres un crack!!
Tenía definido el height en el archivo css y por eso no funcionaba a la primera.

Muchísimas gracias.

Etiquetas: funcion, input, php, segunda
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:48.