Foros del Web » Programando para Internet » Javascript »

Imagenes aleatorias sin repetir

Estas en el tema de Imagenes aleatorias sin repetir en el foro de Javascript en Foros del Web. Hola, podría alguien echarme una mano con un problemilla que tengo con el código, no tengo muchos conocimientos de javascript, pero el caso es que ...
  #1 (permalink)  
Antiguo 11/04/2008, 08:57
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Imagenes aleatorias sin repetir

Hola, podría alguien echarme una mano con un problemilla que tengo con el código, no tengo muchos conocimientos de javascript, pero el caso es que el cogido que voy a insertar a continación sirve para la carga de 12 imagenes de manera aleatoria y que no se repitan, me gustaría que ademas de eso cada una tubiera su propio enlace, pego el código por si alguien puede verlo y comentarme algo,

Gracias,

<script>
var imagenes = [
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif",
"http://www.#.gif"
];

var enlaces = [
"#",
"#",
"#",
"#",
"#",
"#",
"#",
"#",
"#",
"#",
"#",
"#"
];

var alts = [
"mensaje primero",
"mensaje segundo",
"mensaje tercero",
"mensaje cuarto",
"mensaje quinto",
"mensaje sexto",
"mensaje septimo",
"mensaje tercero",
"mensaje cuarto",
"mensaje quinto",
"mensaje sexto",
"mensaje septimo"
];

function randOrd(){
return (Math.round(Math.random())-0.5);
}

function azar() {
imagenes.sort(randOrd);
for (i=0; i<12; i++){
document.write('<a href="#" name="enlace' + (i+1) + '"><img src="' + imagenes[i] + '" name=imagen' + (i+1) + ' border="0"></a><br />');
}
}
</script>
</head>

<body>
<script type="text/javascript">azar()</script>
  #2 (permalink)  
Antiguo 11/04/2008, 15:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Imagenes aleatorias sin repetir

El código es más sencillo que lo que tienes ahi (al menos el que yo uso y me da excelentes resultados) - Si quieres puedes ver como queda en el POP-UP de http://www.babyinfanti.cl - que es donde lo tengo aplicado. Lo que no he conseguido es que las imagenes NO se repitan...

CODIGO:

<script type="text/javascript">
<!-- //
var prefix = "<img src=\"";
var postfix = "\" />";
var rnumb = "";
var img = "";
rnumb += Math.floor(Math.random()*3);
img = rnumb;
if (img == "0") {
document.write(prefix+ "http://www.direccion.com/imagen1.jpg" +postfix);
}
if (img == "1") {
document.write(prefix+ "http://www.direccion.com/imagen2.jpg" +postfix);
}
if (img == "2") {
document.write(prefix+ "http://www.direccion.com/imagen3.jpg" +postfix);
}
// -->
</script>


Ahora si quieres poner más de 3 imagenes, simplemente agregas otra linea:

if (img == "2") {
document.write(prefix+ "http://www.direccion.com/imagen3.jpg" +postfix);
}

Donde el numero "if (img == "2") {" debe ser cambiado correlativamente al igual que la linea "rnumb += Math.floor(Math.random()*3);" donde debes poner el numero de imagenes que deseas que muestre.

Si tienes alguna duda simplemente consultalo, a mi este codigo me da excelentes resultados.

Saludos cordiales!!!
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 18:32.