Esencialmente, lo que intento hacer es crear un sitio web que tenga todo su contenido en la página de inicio pero solo tenga el contenido visible en cualquier momento. La forma en que leo hacer esto es alternar la visibilidad.JavaScript/HTML - Alternar visibilidad (lo que automáticamente hace que un elemento div se oculte cuando se muestra otro)
El problema que estoy teniendo es que: Supongamos que la página de inicio, la primera vez que visita el sitio web está en blanco (de la manera que quiero que sea). Digamos que haces clic en el enlace "Sobre nosotros". De repente, la sección Acerca de nosotros se vuelve visible (como yo quiero que sea). Ahora el problema que me he encontrado es cuando sé, digamos que haga clic en el enlace "productos", quiero que el contenido de "productos" se vuelva visible y que el contenido "sobre nosotros" vuelva a ser invisible. (Creando esencialmente la ilusión de abrir una nueva página dentro de la misma página)
Aquí está el código que he encontrado hasta ahora. Puedo hacer que ciertos elementos div sean visibles e invisibles (onclick), pero no puedo entender cómo asegurarme de que solo haya un elemento div visible a la vez.
<script type="text/javascript">
function toggleVisibility() {
document.getElementById("about").style.display = "";
if(document.getElementById("about").style.visibility == "hidden") {
document.getElementById("about").style.visibility = "visible";
}
else {
document.getElementById("about").style.visibility = "hidden";
}
}
</script>
<script type="text/javascript">
function toggleVisibility1() {
document.getElementById("products").style.display = "";
if(document.getElementById("products").style.visibility == "hidden") {
document.getElementById("products").style.visibility = "visible";
}
else {
document.getElementById("products").style.visibility = "hidden";
}
}
</script>
Los enlaces para hacer el trabajo Javascript se parece a esto:
< href = "#" onclick = "toggleVisibility();"> Sobre
< href = "##" onclick = "toggleVisibility1();"> Productos
si estás usando jQuery, puede utilizar $ ('# productos').css ('display', 'none'); – Chris