Imagen aleatoria script
- tommya
- Graduate


- Registrado: Mar 17, 2004
- Mensajes: 221
- Loc: United Kingdom
- Status: Offline
Hola,
Estoy utilizando la siguiente secuencia de comandos que recogí de otros lugares y adaptado. Obstante me quiero mostrar 2 imágenes al azar y no sólo uno como este lo hace. Asimismo, no desea que el 2 imagenes al azar para ser siempre el mismo. ¿Puede ayudarme alguien
Estoy utilizando la siguiente secuencia de comandos que recogí de otros lugares y adaptado. Obstante me quiero mostrar 2 imágenes al azar y no sólo uno como este lo hace. Asimismo, no desea que el 2 imagenes al azar para ser siempre el mismo. ¿Puede ayudarme alguien
Código: [ Select ]
<SCRIPT LANGUAGE="JavaScript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if (ry==0)
ry=1
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
}
random_imglink()
//-->
</SCRIPT>
<NOSCRIPT><IMG SRC="images/8.jpg" BORDER=0"></NOSCRIPT>
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if (ry==0)
ry=1
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
}
random_imglink()
//-->
</SCRIPT>
<NOSCRIPT><IMG SRC="images/8.jpg" BORDER=0"></NOSCRIPT>
- <SCRIPT LANGUAGE="JavaScript">
- <!--
- function random_imglink(){
- var myimages=new Array()
- myimages[1]="/images/1.jpg"
- myimages[2]="/images/2.jpg"
- myimages[3]="/images/3.jpg"
- myimages[4]="/images/4.jpg"
- myimages[5]="/images/5.jpg"
- myimages[6]="/images/6.jpg"
- myimages[7]="/images/7.jpg"
- myimages[8]="/images/8.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- if (ry==0)
- ry=1
- document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
- }
- random_imglink()
- //-->
- </SCRIPT>
- <NOSCRIPT><IMG SRC="images/8.jpg" BORDER=0"></NOSCRIPT>
- Anonymous
- Bot


- Registrado: 25 Feb 2008
- Mensajes: ?
- Loc: Ozzuland
- Status: Online
Septiembre 15th, 2004, 1:19 pm
- lucassix
- Mastermind


- Registrado: Sep 13, 2004
- Mensajes: 2344
- Loc: Living in a VAN DOWN BY THE RIVER!
- Status: Offline
- neksus
- Mastermind


- Registrado: Sep 10, 2004
- Mensajes: 2194
- Loc: Canada
- Status: Offline
heres uno para PHP:
su rápido y sucio, pero itll hacer el trabajo.
Sí, sé que esto podría ser mejorado haha mucho mejor, pero Im cansado
Código: [ Select ]
<?php
// total number of images
$total = "8";
// file extension
$file_type = ".jpg";
// the first file (they must be in numerical order)
$start = "1";
// randomize
$random = mt_rand($start, $total);
// randomize another variable
$random2 = mt_rand($start + 1, $total);
// try and make them not different if they were
if($random2 == $random){
$random2 = mt_rand($start + 1, $total);
}
// get a filename from random
$image_name = $random . $file_type;
// make another (because you want 2)
$image_name2 = $random . $file_type;
echo "<img src=\"images/$image_name\" width=\"x\" height=\"x\"><img src=\"images/$image_name2\" width=\"x\" height=\"x\">";
?>
// total number of images
$total = "8";
// file extension
$file_type = ".jpg";
// the first file (they must be in numerical order)
$start = "1";
// randomize
$random = mt_rand($start, $total);
// randomize another variable
$random2 = mt_rand($start + 1, $total);
// try and make them not different if they were
if($random2 == $random){
$random2 = mt_rand($start + 1, $total);
}
// get a filename from random
$image_name = $random . $file_type;
// make another (because you want 2)
$image_name2 = $random . $file_type;
echo "<img src=\"images/$image_name\" width=\"x\" height=\"x\"><img src=\"images/$image_name2\" width=\"x\" height=\"x\">";
?>
- <?php
- // total number of images
- $total = "8";
- // file extension
- $file_type = ".jpg";
- // the first file (they must be in numerical order)
- $start = "1";
- // randomize
- $random = mt_rand($start, $total);
- // randomize another variable
- $random2 = mt_rand($start + 1, $total);
- // try and make them not different if they were
- if($random2 == $random){
- $random2 = mt_rand($start + 1, $total);
- }
- // get a filename from random
- $image_name = $random . $file_type;
- // make another (because you want 2)
- $image_name2 = $random . $file_type;
- echo "<img src=\"images/$image_name\" width=\"x\" height=\"x\"><img src=\"images/$image_name2\" width=\"x\" height=\"x\">";
- ?>
su rápido y sucio, pero itll hacer el trabajo.
Sí, sé que esto podría ser mejorado haha mucho mejor, pero Im cansado
- joebert
- Sledgehammer


- Registrado: Feb 10, 2004
- Mensajes: 13458
- Loc: Florida
- Status: Offline
Código: [ Select ]
<SCRIPT LANGUAGE="JavaScript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if(ry<1) ry++;
var ry2=Math.floor(Math.random()*myimages.length)
if(ry2<1) ry2++;
if(ry == ry2){ry>1 ? ry2-- : ry2++;}
//alert(ry + "|" + ry2);
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
document.write('<IMG SRC="'+myimages[ry2]+'" BORDER=0><p>')
}
random_imglink()
//-->
</SCRIPT>
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if(ry<1) ry++;
var ry2=Math.floor(Math.random()*myimages.length)
if(ry2<1) ry2++;
if(ry == ry2){ry>1 ? ry2-- : ry2++;}
//alert(ry + "|" + ry2);
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
document.write('<IMG SRC="'+myimages[ry2]+'" BORDER=0><p>')
}
random_imglink()
//-->
</SCRIPT>
- <SCRIPT LANGUAGE="JavaScript">
- <!--
- function random_imglink(){
- var myimages=new Array()
- myimages[1]="/images/1.jpg"
- myimages[2]="/images/2.jpg"
- myimages[3]="/images/3.jpg"
- myimages[4]="/images/4.jpg"
- myimages[5]="/images/5.jpg"
- myimages[6]="/images/6.jpg"
- myimages[7]="/images/7.jpg"
- myimages[8]="/images/8.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- if(ry<1) ry++;
- var ry2=Math.floor(Math.random()*myimages.length)
- if(ry2<1) ry2++;
- if(ry == ry2){ry>1 ? ry2-- : ry2++;}
- //alert(ry + "|" + ry2);
- document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
- document.write('<IMG SRC="'+myimages[ry2]+'" BORDER=0><p>')
- }
- random_imglink()
- //-->
- </SCRIPT>
Forma más fácil es dar una función más por hacer. Sólo necesita tener el doc .. write () s modificado y actualizado la etiqueta "noscript utilizar dos valores predeterminados.
Acabo de duplicar la asignación aleatoria, comprobar si los números ry son las mismas, si son la misma comprobación de si son mayores que 1, si son mayores de un golpe 1 de descuento en más de RY2 añadir 1 a la misma.
Strong with this one, the sudo is.
- Mas Sehguh
- Mastermind


- Registrado: Ago 07, 2004
- Mensajes: 1853
- Status: Offline
El problema con esto es que la aleatoriedad no está distribuida uniformemente, y ni siquiera tendrán la oportunidad de golpear el mayor número de imágenes (en su lugar, el menor número de imágenes que ser golpeado dos veces más a menudo).
Utilice este lugar:
A propósito, usted puede hacer esto sin problema específico de una serie de direcciones URL, ya que los nombres de los archivos en sí son contados. Más tarde, no puede ser, sin embargo, o que tengan ceros a la izquierda, de modo de mantenimiento de la matriz es una buena idea.
Utilice este lugar:
Código: [ Select ]
<script type="text/javascript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[0] = "/images/0.jpg"
myimages[1] = "/images/1.jpg"
myimages[2] = "/images/2.jpg"
myimages[3] = "/images/3.jpg"
myimages[4] = "/images/4.jpg"
myimages[5] = "/images/5.jpg"
myimages[6] = "/images/6.jpg"
myimages[7] = "/images/7.jpg"
var ry=Math.floor(Math.random()*myimages.length)
// if(ry<1) ry++; not needed because array is zero-based.
var rya=Math.floor(Math.random()*(myimages.length - 1))
// now this SECOND piece of code will pick a random number
// of length myimages.length - 1.
if(rya >= ry) rya++; //now increment rya if it needs it.
// even if rya is greater than ry, it still needs incrementation
// because rya needs to be evenly distributed across the
// myimages.length - 1 remaining options.
// document.write(ry + " | " + rya);
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
document.write('<IMG SRC="'+myimages[rya]+'" BORDER=0><p>')
}
random_imglink()
// -->
</script>
<!--
function random_imglink(){
var myimages=new Array()
myimages[0] = "/images/0.jpg"
myimages[1] = "/images/1.jpg"
myimages[2] = "/images/2.jpg"
myimages[3] = "/images/3.jpg"
myimages[4] = "/images/4.jpg"
myimages[5] = "/images/5.jpg"
myimages[6] = "/images/6.jpg"
myimages[7] = "/images/7.jpg"
var ry=Math.floor(Math.random()*myimages.length)
// if(ry<1) ry++; not needed because array is zero-based.
var rya=Math.floor(Math.random()*(myimages.length - 1))
// now this SECOND piece of code will pick a random number
// of length myimages.length - 1.
if(rya >= ry) rya++; //now increment rya if it needs it.
// even if rya is greater than ry, it still needs incrementation
// because rya needs to be evenly distributed across the
// myimages.length - 1 remaining options.
// document.write(ry + " | " + rya);
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
document.write('<IMG SRC="'+myimages[rya]+'" BORDER=0><p>')
}
random_imglink()
// -->
</script>
- <script type="text/javascript">
- <!--
- function random_imglink(){
- var myimages=new Array()
- myimages[0] = "/images/0.jpg"
- myimages[1] = "/images/1.jpg"
- myimages[2] = "/images/2.jpg"
- myimages[3] = "/images/3.jpg"
- myimages[4] = "/images/4.jpg"
- myimages[5] = "/images/5.jpg"
- myimages[6] = "/images/6.jpg"
- myimages[7] = "/images/7.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- // if(ry<1) ry++; not needed because array is zero-based.
- var rya=Math.floor(Math.random()*(myimages.length - 1))
- // now this SECOND piece of code will pick a random number
- // of length myimages.length - 1.
- if(rya >= ry) rya++; //now increment rya if it needs it.
- // even if rya is greater than ry, it still needs incrementation
- // because rya needs to be evenly distributed across the
- // myimages.length - 1 remaining options.
- // document.write(ry + " | " + rya);
- document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
- document.write('<IMG SRC="'+myimages[rya]+'" BORDER=0><p>')
- }
- random_imglink()
- // -->
- </script>
A propósito, usted puede hacer esto sin problema específico de una serie de direcciones URL, ya que los nombres de los archivos en sí son contados. Más tarde, no puede ser, sin embargo, o que tengan ceros a la izquierda, de modo de mantenimiento de la matriz es una buena idea.
- Scorpius
- Proficient


- Registrado: Mar 20, 2004
- Mensajes: 401
- Loc: Scorpion Hole
- Status: Offline
Pruebe esto:
Creo que esta sería probablemente la mejor y más aleatoria que la de otras maneras, aunque tiene dos matrices, usted siempre tendrá diferentes imágenes.
Código: [ Select ]
<script type="text/javascript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[0] = "/images/0.jpg"
myimages[1] = "/images/1.jpg"
myimages[2] = "/images/2.jpg"
myimages[3] = "/images/3.jpg"
var myimagesa=new Array()
myimagesa[0] = "/images/4.jpg"
myimagesa[1] = "/images/5.jpg"
myimagesa[2] = "/images/6.jpg"
myimagesa[3] = "/images/7.jpg"
var ry=Math.floor(Math.random()*myimages.length)
var rya=Math.floor(Math.random()*(myimagesa.length))
// document.write(ry + " | " + rya);
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
document.write('<IMG SRC="'+myimagesa[rya]+'" BORDER=0><p>')
}
random_imglink()
// -->
</script>
<!--
function random_imglink(){
var myimages=new Array()
myimages[0] = "/images/0.jpg"
myimages[1] = "/images/1.jpg"
myimages[2] = "/images/2.jpg"
myimages[3] = "/images/3.jpg"
var myimagesa=new Array()
myimagesa[0] = "/images/4.jpg"
myimagesa[1] = "/images/5.jpg"
myimagesa[2] = "/images/6.jpg"
myimagesa[3] = "/images/7.jpg"
var ry=Math.floor(Math.random()*myimages.length)
var rya=Math.floor(Math.random()*(myimagesa.length))
// document.write(ry + " | " + rya);
document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
document.write('<IMG SRC="'+myimagesa[rya]+'" BORDER=0><p>')
}
random_imglink()
// -->
</script>
- <script type="text/javascript">
- <!--
- function random_imglink(){
- var myimages=new Array()
- myimages[0] = "/images/0.jpg"
- myimages[1] = "/images/1.jpg"
- myimages[2] = "/images/2.jpg"
- myimages[3] = "/images/3.jpg"
- var myimagesa=new Array()
- myimagesa[0] = "/images/4.jpg"
- myimagesa[1] = "/images/5.jpg"
- myimagesa[2] = "/images/6.jpg"
- myimagesa[3] = "/images/7.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- var rya=Math.floor(Math.random()*(myimagesa.length))
- // document.write(ry + " | " + rya);
- document.write('<IMG SRC="'+myimages[ry]+'" BORDER=0><p>')
- document.write('<IMG SRC="'+myimagesa[rya]+'" BORDER=0><p>')
- }
- random_imglink()
- // -->
- </script>
Creo que esta sería probablemente la mejor y más aleatoria que la de otras maneras, aunque tiene dos matrices, usted siempre tendrá diferentes imágenes.
- Mas Sehguh
- Mastermind


- Registrado: Ago 07, 2004
- Mensajes: 1853
- Status: Offline
En realidad, es menos aleatorio. Hay 16 posibles combinaciones de imágenes en tu ejemplo, el 28 en mi anterior ejemplo (y en el mío, el orden es aleatorio también), y ambos no tener la misma imagen aparecen dos veces.
¿Por qué impedir 1.jpg y 2.jpg se muestren al mismo tiempo?
¿Por qué impedir 1.jpg y 2.jpg se muestren al mismo tiempo?
- joebert
- Sledgehammer


- Registrado: Feb 10, 2004
- Mensajes: 13458
- Loc: Florida
- Status: Offline
Quote:
El problema con esto es que la aleatoriedad no está distribuida uniformemente, y ni siquiera tendrán la oportunidad de golpear el mayor número de imágenes (en su lugar, el menor número de imágenes que ser golpeado dos veces más a menudo).
Sam theres ninguna diferencia entre nuestros resultados de funciones, ambos son igual de azar y que ambos tienen un máximo de 140 milisegundos para ejecutar 500 veces en la CPU de 500Mhz....
Código: [ Select ]
<html>
<head>
<style type="text/css">
body{background:#123456; color:#ffffff;}
</style>
</head>
<body>
<div style="position:absolute; left:100px;">
<script type="text/javascript">
<!--
function random_imglin(){
var myimages=new Array()
myimages[0] = "/images/0.jpg"
myimages[1] = "/images/1.jpg"
myimages[2] = "/images/2.jpg"
myimages[3] = "/images/3.jpg"
myimages[4] = "/images/4.jpg"
myimages[5] = "/images/5.jpg"
myimages[6] = "/images/6.jpg"
myimages[7] = "/images/7.jpg"
var ry=Math.floor(Math.random()*myimages.length)
var rya=Math.floor(Math.random()*(myimages.length - 1))
if(rya >= ry) rya++; //now increment rya if it needs it.
document.write(ry + "|" + rya + "<br>");
}
time = new Date().getMilliseconds();
for(var i=0; i<500; i++){random_imglin();}
document.write(new Date().getMilliseconds() - time);
// -->
</script>
</div>
<div style:position:absolute; left:0px;">
<SCRIPT LANGUAGE="JavaScript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if(ry<1) ry++;
var ry2=Math.floor(Math.random()*myimages.length)
if(ry2<1) ry2++;
if(ry == ry2){ry>1 ? ry2-- : ry2++;}
document.write(ry + "|" + ry2 + "<br>");
}
time = new Date().getMilliseconds();
for(var i=0; i<500; i++){random_imglink();}
document.write(new Date().getMilliseconds() - time);
//-->
</SCRIPT>
</div>
</body>
</html>
<head>
<style type="text/css">
body{background:#123456; color:#ffffff;}
</style>
</head>
<body>
<div style="position:absolute; left:100px;">
<script type="text/javascript">
<!--
function random_imglin(){
var myimages=new Array()
myimages[0] = "/images/0.jpg"
myimages[1] = "/images/1.jpg"
myimages[2] = "/images/2.jpg"
myimages[3] = "/images/3.jpg"
myimages[4] = "/images/4.jpg"
myimages[5] = "/images/5.jpg"
myimages[6] = "/images/6.jpg"
myimages[7] = "/images/7.jpg"
var ry=Math.floor(Math.random()*myimages.length)
var rya=Math.floor(Math.random()*(myimages.length - 1))
if(rya >= ry) rya++; //now increment rya if it needs it.
document.write(ry + "|" + rya + "<br>");
}
time = new Date().getMilliseconds();
for(var i=0; i<500; i++){random_imglin();}
document.write(new Date().getMilliseconds() - time);
// -->
</script>
</div>
<div style:position:absolute; left:0px;">
<SCRIPT LANGUAGE="JavaScript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if(ry<1) ry++;
var ry2=Math.floor(Math.random()*myimages.length)
if(ry2<1) ry2++;
if(ry == ry2){ry>1 ? ry2-- : ry2++;}
document.write(ry + "|" + ry2 + "<br>");
}
time = new Date().getMilliseconds();
for(var i=0; i<500; i++){random_imglink();}
document.write(new Date().getMilliseconds() - time);
//-->
</SCRIPT>
</div>
</body>
</html>
- <html>
- <head>
- <style type="text/css">
- body{background:#123456; color:#ffffff;}
- </style>
- </head>
- <body>
- <div style="position:absolute; left:100px;">
- <script type="text/javascript">
- <!--
- function random_imglin(){
- var myimages=new Array()
- myimages[0] = "/images/0.jpg"
- myimages[1] = "/images/1.jpg"
- myimages[2] = "/images/2.jpg"
- myimages[3] = "/images/3.jpg"
- myimages[4] = "/images/4.jpg"
- myimages[5] = "/images/5.jpg"
- myimages[6] = "/images/6.jpg"
- myimages[7] = "/images/7.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- var rya=Math.floor(Math.random()*(myimages.length - 1))
- if(rya >= ry) rya++; //now increment rya if it needs it.
- document.write(ry + "|" + rya + "<br>");
- }
- time = new Date().getMilliseconds();
- for(var i=0; i<500; i++){random_imglin();}
- document.write(new Date().getMilliseconds() - time);
- // -->
- </script>
- </div>
- <div style:position:absolute; left:0px;">
- <SCRIPT LANGUAGE="JavaScript">
- <!--
- function random_imglink(){
- var myimages=new Array()
- myimages[1]="/images/1.jpg"
- myimages[2]="/images/2.jpg"
- myimages[3]="/images/3.jpg"
- myimages[4]="/images/4.jpg"
- myimages[5]="/images/5.jpg"
- myimages[6]="/images/6.jpg"
- myimages[7]="/images/7.jpg"
- myimages[8]="/images/8.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- if(ry<1) ry++;
- var ry2=Math.floor(Math.random()*myimages.length)
- if(ry2<1) ry2++;
- if(ry == ry2){ry>1 ? ry2-- : ry2++;}
- document.write(ry + "|" + ry2 + "<br>");
- }
- time = new Date().getMilliseconds();
- for(var i=0; i<500; i++){random_imglink();}
- document.write(new Date().getMilliseconds() - time);
- //-->
- </SCRIPT>
- </div>
- </body>
- </html>
Tal vez usted realmente debería probar somthing antes de "darse cuenta de un problema" con él
Strong with this one, the sudo is.
- Mas Sehguh
- Mastermind


- Registrado: Ago 07, 2004
- Mensajes: 1853
- Status: Offline
En realidad, tal vez la última imagen hits...
Sin embargo, el suyo recoge MyImages [1] dos veces más que recoge el resto de las imágenes, ya que la imagen es interceptado por un número aleatorio en el intervalo [0,2), que tiene una anchura de dos, mientras que los otros tienen un alcance de [2,3), [3,4), que tienen una anchura de uno. Ellos no son "tan al azar. "Si quieres probarlo, bien:
Los resultados de una carrera:
Observe cómo se escoge una imagen de cerca de 2 / 9 de la época, el resto el ser escogido 1 / 9 de la época, en lugar de cada ser 1 / 8.
Tal vez usted realmente debería probar algo antes de declarar que ellos ", así como al azar"
Sin embargo, el suyo recoge MyImages [1] dos veces más que recoge el resto de las imágenes, ya que la imagen es interceptado por un número aleatorio en el intervalo [0,2), que tiene una anchura de dos, mientras que los otros tienen un alcance de [2,3), [3,4), que tienen una anchura de uno. Ellos no son "tan al azar. "Si quieres probarlo, bien:
Código: [ Select ]
<SCRIPT LANGUAGE="JavaScript">
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if(ry<1) ry++;
var ry2=Math.floor(Math.random()*myimages.length)
if(ry2<1) ry2++;
if(ry == ry2){ry>1 ? ry2-- : ry2++;}
document.write(ry + "|" + ry2 + "<br>");
return ry;
}
var indexsum = new Array()
for(var i = 1; i < 9; i++)
{
indexsum[i] = 0;
}
for(var i=0; i<10000; i++)
{
indexsum[random_imglink()]++;
}
for(var i = 1; i < 9; i++)
{
document.write("Index " + i + ": " + indexsum[i] + "<br>");
}
//-->
</SCRIPT>
<!--
function random_imglink(){
var myimages=new Array()
myimages[1]="/images/1.jpg"
myimages[2]="/images/2.jpg"
myimages[3]="/images/3.jpg"
myimages[4]="/images/4.jpg"
myimages[5]="/images/5.jpg"
myimages[6]="/images/6.jpg"
myimages[7]="/images/7.jpg"
myimages[8]="/images/8.jpg"
var ry=Math.floor(Math.random()*myimages.length)
if(ry<1) ry++;
var ry2=Math.floor(Math.random()*myimages.length)
if(ry2<1) ry2++;
if(ry == ry2){ry>1 ? ry2-- : ry2++;}
document.write(ry + "|" + ry2 + "<br>");
return ry;
}
var indexsum = new Array()
for(var i = 1; i < 9; i++)
{
indexsum[i] = 0;
}
for(var i=0; i<10000; i++)
{
indexsum[random_imglink()]++;
}
for(var i = 1; i < 9; i++)
{
document.write("Index " + i + ": " + indexsum[i] + "<br>");
}
//-->
</SCRIPT>
- <SCRIPT LANGUAGE="JavaScript">
- <!--
- function random_imglink(){
- var myimages=new Array()
- myimages[1]="/images/1.jpg"
- myimages[2]="/images/2.jpg"
- myimages[3]="/images/3.jpg"
- myimages[4]="/images/4.jpg"
- myimages[5]="/images/5.jpg"
- myimages[6]="/images/6.jpg"
- myimages[7]="/images/7.jpg"
- myimages[8]="/images/8.jpg"
- var ry=Math.floor(Math.random()*myimages.length)
- if(ry<1) ry++;
- var ry2=Math.floor(Math.random()*myimages.length)
- if(ry2<1) ry2++;
- if(ry == ry2){ry>1 ? ry2-- : ry2++;}
- document.write(ry + "|" + ry2 + "<br>");
- return ry;
- }
- var indexsum = new Array()
- for(var i = 1; i < 9; i++)
- {
- indexsum[i] = 0;
- }
- for(var i=0; i<10000; i++)
- {
- indexsum[random_imglink()]++;
- }
- for(var i = 1; i < 9; i++)
- {
- document.write("Index " + i + ": " + indexsum[i] + "<br>");
- }
- //-->
- </SCRIPT>
Los resultados de una carrera:
Código: [ Select ]
Index 1: 2259
Index 2: 1095
Index 3: 1093
Index 4: 1059
Index 5: 1085
Index 6: 1134
Index 7: 1090
Index 8: 1185
Index 2: 1095
Index 3: 1093
Index 4: 1059
Index 5: 1085
Index 6: 1134
Index 7: 1090
Index 8: 1185
- Index 1: 2259
- Index 2: 1095
- Index 3: 1093
- Index 4: 1059
- Index 5: 1085
- Index 6: 1134
- Index 7: 1090
- Index 8: 1185
Observe cómo se escoge una imagen de cerca de 2 / 9 de la época, el resto el ser escogido 1 / 9 de la época, en lugar de cada ser 1 / 8.
Tal vez usted realmente debería probar algo antes de declarar que ellos ", así como al azar"
- joebert
- Sledgehammer


- Registrado: Feb 10, 2004
- Mensajes: 13458
- Loc: Florida
- Status: Offline
- DY123
- Born


- Registrado: Ene 04, 2011
- Mensajes: 1
- Status: Offline
¡Hola!
Me encontré con un viejo duscussion sobre múltiples imágenes al azar.
programming-forum/random-image-script-t31615.html
En él escribió un código para mostrar dos imágenes. ria y rya.
Me gustaría añadir un ryb terceros.
He añadido a su código y todo parece funcionar bien, pero de vez en cuando recibo una repetición de las imágenes. ria y ryb será el mismo.
Creo que tengo que solucionar este problema es en esta línea:
if (> rya = ria) rya + +;
He hecho esto que sé que está mal:
if (> ryb ry = | |> = ryb rya) ryb + +;
¿Alguna sugerencia?
Gracias
Me encontré con un viejo duscussion sobre múltiples imágenes al azar.
programming-forum/random-image-script-t31615.html
En él escribió un código para mostrar dos imágenes. ria y rya.
Me gustaría añadir un ryb terceros.
He añadido a su código y todo parece funcionar bien, pero de vez en cuando recibo una repetición de las imágenes. ria y ryb será el mismo.
Creo que tengo que solucionar este problema es en esta línea:
if (> rya = ria) rya + +;
He hecho esto que sé que está mal:
if (> ryb ry = | |> = ryb rya) ryb + +;
¿Alguna sugerencia?
Gracias
Página 1 de 1
Para responder a este tema que necesita para ingresar o registrarse. Es gratis.
Publicar Información
- Total de mensajes en este tema: 11 mensajes
- Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 165 invitados
- No puede abrir nuevos temas en este Foro
- No puede responder a temas en este Foro
- No puede editar sus mensajes en este Foro
- No puede borrar sus mensajes en este Foro
- No puede enviar adjuntos en este Foro
