Foros del Web » Programando para Internet » Javascript »

Mostrar DIV aleatoria

Estas en el tema de Mostrar DIV aleatoria en el foro de Javascript en Foros del Web. Estimados, tengo una especie de slider en mi sitio web. Es un DIV con una imagen de fondo y un par de textos. Me gustaría ...
  #1 (permalink)  
Antiguo 24/11/2016, 20:27
 
Fecha de Ingreso: agosto-2010
Mensajes: 38
Antigüedad: 13 años, 7 meses
Puntos: 0
Mostrar DIV aleatoria

Estimados, tengo una especie de slider en mi sitio web. Es un DIV con una imagen de fondo y un par de textos. Me gustaría tener 3 opciones de DIV con sus respectivos elementos y que al cargar el sitio se mostrara uno de manera aleatoria ¿Me ayudan? :(
  #2 (permalink)  
Antiguo 24/11/2016, 23:20
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar DIV aleatoria

Toma al conjunto de elementos <div>, ya sea por su nombre de etiqueta (div) o un identificador en común, como puede ser una clase:
Código HTML:
Ver original
  1. <div class="foo">Contenido 1</div>
  2. <div class="foo">Contenido 2</div>
  3. <div class="foo">Contenido 3</div>
Código CSS:
Ver original
  1. .foo{
  2.     display: none;
  3. }
Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     var foo = document.querySelectorAll(".foo");
  3. }, false);

Utilizando los métodos Math.floor() y Math.random(), genera un número aleatorio de entre el total de elementos:
Código Javascript:
Ver original
  1. var i = Math.floor(Math.random() * foo.length);

Y, desde el conjunto de elementos, toma al que su ubicación corresponda con el valor aleatorio generado y muéstralo:
Código Javascript:
Ver original
  1. foo[i].style.display = "block";

Todo junto:
Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     var foo = document.querySelectorAll(".foo"),
  3.         i = Math.floor(Math.random() * foo.length);
  4.  
  5.     foo[i].style.display = "block";
  6. }, false);

__________________
«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

Última edición por Alexis88; 25/11/2016 a las 17:49 Razón: Texto

Etiquetas: aleatoria, text
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 14:22.