Cita:
Iniciado por Aijoona
Definí las variables usando el
var, caso contrario estás creando globales implicitas.
Código Javascript
:
Ver original// Mal
function mostrar(enla) {
obj = document.getElementById('oculto'+enla);
obj.style.visibility = (obj.style.visibility == 'hidden') ? 'visible' : 'hidden';
}
// Bien
function mostrar(enla) {
var obj = document.getElementById('oculto'+enla);
obj.style.visibility = (obj.style.visibility == 'hidden') ? 'visible' : 'hidden';
}
Ok, lo probe y no me funciono, pero he llegado a la solucion al estar probando lo que me dijiste, explico:
yo tenia esto:
Código:
<script>
function mostrar(enla) {
obj = document.getElementById('oculto'+enla);
obj.style.visibility = (obj.style.visibility == 'hidden') ? 'visible' : 'hidden';
}
</script>
<a href="#" onclick="mostrar('1'); return false" /><center><span style="color:white"><strong>Saludo</strong></a>
<div id="oculto1" style="visibility:hidden">
Aqui va mi texto que oculto...</div>
<a href="#" onclick="mostrar('2'); return false" /><center><span style="color:white"><strong>Manejo de beneficios.</strong></a>
<div id="oculto2" style="visibility:hidden">Mi otro texto para ocultar...</div>
La cuestion aqui es que defini mal style="visibility:hidden" debia ser style="display:none" tanto en mi <script> como en mi <div> una vez cambiado todos mis divs sin problema me funcionó, pongo como lo deje:
Código:
<script>
function mostrar(enla) {
obj = document.getElementById('oculto'+enla);
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
}
</script>
<a href="#" onclick="mostrar('1'); return false" /><center><span style="color:white"><strong>Saludo</strong></a>
<div id="oculto1" style="display:none">Aqui mi texto a esconder</div>
Con esto queda solucionado mi problema ahora mis enlaces esconden el texto y lo que no se esconde sube automaticamente, muchas gracias por la ayuda aunque no me haya funcionado con tu codigo me ayudo para detectar mi error. Gracias! un abrazo.