JavaScript - Math.random sin que se repita

 
Vista:
sin imagen de perfil

Math.random sin que se repita

Publicado por Antonio (16 intervenciones) el 26/03/2017 04:44:49
Hola a todos, no se de javascript, vi este código por internet y me funciona a la perfección pero las frases se repiten sin completar un ciclo, me echais una mano? Gracias de antemano!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function frases_alea(){
 
frases = new Array();
 
frases[0] = "Todo está diseñado, pero pocas cosas están diseñadas bien.";
frases[1] = "EL Diseño es un intermediario entre la información y el entendimiento.";
frases[2] = "El diseño es el embajador silencioso de tu marca.";
frases[3] = "El 90% del talento de una persona es simplemente interés";
frases[4] = "Hacer las cosas lo más simple posible pero no más sencillo."
frases[5] = "El diseño depende en gran medida de las limitaciones."
frases[6] = "Si un diseño no se siente bien en el corazón, lo que dice el cerebro no importa."
frases[7] = "El diseño gráfico debe seducir, educar y, quizás lo más importante, provocar una respuesta emocional."
frases[8] = "Todo es diseño, ¡todo!"
frases[9] = "Un buen diseño puede soportar la moda de 10 años."
frases[10] = "El diseño es un lenguaje y lo principal es cómo usas ese lenguaje."
frases[11] = "No hay diseño gráfico sin disciplina. No hay disciplina sin inteligencia."
frases[12] = "El diseño es donde la ciencia y el arte se equilibran"
frases[13] = "La gente ignora el diseño que ignora a la gente."
frases[14] = "Un diseñador es un planificador con sentido del buen gusto."
frases[15] = "El diseño nunca debería de decir “Mírame”. Debería de decir: “Mira esto”"
frases[16] = "El buen diseño es una suerte de clarividencia hecha visual."
frases[17] = "Un diseño no está terminado hasta que alguien lo está utilizando."
frases[18] = "Practica un diseño seguro: Usa un concepto."
frases[19] = "Crea tu propio estilo visual … dejalo ser único para tí e identificable para otros."
 
aleatorio=Math.floor(Math.random()*20);
 
return frases[aleatorio];
 
}
onload=function(){
   document.getElementById('algo').innerHTML=frases_alea();
   setInterval(function(){document.getElementById('algo').innerHTML=frases_alea();},5000)
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Math.random sin que se repita

Publicado por xve (2100 intervenciones) el 26/03/2017 20:47:59
Hola Antonio, lo que hace este código, es que te va mostrando las frases de forma aleatoria... tu que querrías, que lo hiciera una detrás de la otra? o que no se repita la última que ha mostrado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Math.random sin que se repita

Publicado por Antonio (16 intervenciones) el 26/03/2017 21:09:13
Lo que me gustaría es que se muestren las 20 antes de que se repita, a eso llamo ciclo. Me da igual si es aleatoriamente, supongo que random es aleatorio, pero si que se repitan solo cuando se hayan visto las 20. Quizás me falto decir que es funcion está enlazada a una web donde las frases van cambiando cada 5 segundos y cuando las lees no gusta que se repitan.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Math.random sin que se repita

Publicado por Antonio (16 intervenciones) el 26/03/2017 21:28:27
Echale un ojo en la web


http://en-estudio.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 553
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Math.random sin que se repita

Publicado por kip (107 intervenciones) el 26/03/2017 22:12:48
Hola, con respecto a la respuesta de la pregunta que te hizo Xve he modificado tu codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
onload = function() {
    var frases = [];
    frases[0] = "Todo está diseñado, pero pocas cosas están diseñadas bien.";
    frases[1] = "El Diseño es un intermediario entre la información y el entendimiento.";
    frases[2] = "El diseño es el embajador silencioso de tu marca.";
    frases[3] = "El 90% del talento de una persona es simplemente interés";
    frases[4] = "Hacer las cosas lo más simple posible pero no más sencillo."
    frases[5] = "El diseño depende en gran medida de las limitaciones."
    frases[6] = "Si un diseño no se siente bien en el corazón, lo que dice el cerebro no importa."
    frases[7] = "El diseño gráfico debe seducir, educar y, quizás lo más importante, provocar una respuesta emocional."
    frases[8] = "Todo es diseño, ¡todo!"
    frases[9] = "Un buen diseño puede soportar la moda de 10 años."
    frases[10] = "El diseño es un lenguaje y lo principal es cómo usas ese lenguaje."
    frases[11] = "No hay diseño gráfico sin disciplina. No hay disciplina sin inteligencia."
    frases[12] = "El diseño es donde la ciencia y el arte se equilibran"
    frases[13] = "La gente ignora el diseño que ignora a la gente."
    frases[14] = "Un diseñador es un planificador con sentido del buen gusto."
    frases[15] = "El diseño nunca debería de decir “Mírame”. Debería de decir: “Mira esto”"
    frases[16] = "El buen diseño es una suerte de clarividencia hecha visual."
    frases[17] = "Un diseño no está terminado hasta que alguien lo está utilizando."
    frases[18] = "Practica un diseño seguro: Usa un concepto."
    frases[19] = "Crea tu propio estilo visual … dejalo ser único para tí e identificable para otros."
    var total = frases.length;
    var cont = 0;
    var div_dest = document.getElementById('algo');
    div_dest.innerHTML = frases[cont];
    setInterval(function() {
        cont++;
        if (cont < total) {
            div_dest.innerHTML = frases[cont];
        } else {
            cont = 0;
            div_dest.innerHTML = frases[cont];
        }
    }, 5000)
}

Pruebalo y cuentanos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Math.random sin que se repita

Publicado por Antonio (16 intervenciones) el 26/03/2017 22:47:06
kip, perfecto, aun no la he subido, por si lo miras, pero en el pc funciona perfecto, muy amables los dos. Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar