Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Mostrar texto despues de presionar boton

Estas en el tema de Mostrar texto despues de presionar boton en el foro de Javascript en Foros del Web. Hola comunidad, tengo una duda. Necesito que un texto se muestre despues de presionar 4 botones. Pero solo he conseguido agregar 4 botones q desaparecen ...
  #1 (permalink)  
Antiguo 27/08/2015, 00:23
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 0
Mostrar texto despues de presionar boton

Hola comunidad, tengo una duda. Necesito que un texto se muestre despues de presionar 4 botones. Pero solo he conseguido agregar 4 botones q desaparecen y en el div final le agregue el codigo para que aparezca el texto y si funciona, pero yo quiero que detecte que se han presionado los 3 botones anteriores para recien funcionar el ultimo, y como lo tengo actualmente basta con presionar el ultimo boton para que aparezca el texto sin necesidad de haber presionado antes los 3 botones.

Gracias de antemano.

Este es mi codigo actual:

Código PHP:
<html>
<
head>

<
script type="text/javascript" src="jquery-1.4.2.min.js"></script>

<style type="text/css">
    .fadeOutbox, .fadeInbox, .fadeTobox{
        float:left;
        padding:8px;
        margin:16px;
        border:1px solid red;
        width:200px;
        height:50px;
        background-color:#000000;
        color:white;
    }
    .clear{
        clear:both;
    }
</style>

</head>

<body>

<h1>jQuery fadeIn(), fadeOut() and fadeTo() example</h1>


<div class="clear">
    <h2>fadeOut() example</h2>
    
    <div class="fadeOutbox">
        Click me - fadeOut()
    </div>
    
    <div class="fadeOutbox">
        Click me - fadeOut()
    </div>
    
    <div class="fadeOutbox">
        Click me - fadeOut()
    </div>
    
    <div class="fadeOutbox" onClick="document.getElementById('oculto').style.visibility='visible'">
        Click me - fadeOut()
    </div>
</div>
<div id="oculto" style="visibility:hidden"> 
Mensaje oculto
</div> 


<script type="text/javascript">

$(".fadeOutbox").click(function () {
   $(this).fadeOut('slow');
});
</script>

</body>
</html> 
  #2 (permalink)  
Antiguo 27/08/2015, 10:27
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Mostrar texto despues de presionar boton

Una forma rápida de hacer esto consiste en lo siguiente:
  1. Asigna una clase a los cuatro botones.
  2. Establece una variable global cuyo valor inicial debe ser igual a cero.
  3. Delega el evento click al documento.
  4. Cada vez que se produzca dicho evento, verifica que el elemento clickeado posea la clase que asignaste a los botones.
  5. De ser así, incrementas el valor de la variable global en uno.
  6. Finalmente, verificas el valor actualizado de la variable y si es igual a 4 o al total de botones (si quisieras trabajar con más o menos botones), muestras el texto.

Un ejemplo:
Código HTML:
Ver original
  1. <button class = "ejemplo">Botón 1</button>
  2. <button class = "ejemplo">Botón 2</button>
  3. <button class = "ejemplo">Botón 3</button>
  4. <button class = "ejemplo">Botón 4</button>
  5.  
  6. <div id = "foo">El texto</div>

Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     var total = 0;
  3.     document.addEventListener("click", function(event){
  4.         if (event.target.className == "ejemplo"){
  5.             total++;
  6.         }
  7.  
  8.         if (total == document.querySelectorAll(".ejemplo").length){
  9.             document.querySelector("#foo").style.display = "block";
  10.         }
  11.     }, false);
  12. }, false);

Para detectar al elemento afectado por el evento, utilicé la propiedad event.target.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: boton, funcion, html, js, presionar
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 03:26.