Primero que todo trataría de hacerlo mas simple, utilizando funciones javascript o jquery.
Código HTML:
Ver original function lanzar_dado(){
posibles_numeros = 6 - 1 //Mayor - Menor
numero_dado = Math.random() * posibles_numeros;
var valor= Math.round(parseInt(1)+numero_dado);
document.getElementById("valor").value=valor;
}
<input type="button" value="Lanzar" onclick="lanzar_dado()"> <input type='text' id='valor' />
Ahora si quieres del modo que tu lo hiciste, puede que te sirva esto:
Código HTML:
Ver originalspan {display: none;}
button {display: block;}
<script type="text/javascript"> var VanillaRunOnDomReady = function() {
var boton = document.getElementById("id_boton"),
cuarz = document.getElementsByTagName("div"),
total = cuarz.length,
forEach = Array.prototype.forEach;
// var posicion=0;
boton.addEventListener("click", function () {
var num=0;
var otro='';
var i = 0,
intervalo = setInterval(function () {
if ((i += 100) < 3000) {
var posicion = Math.floor(Math.random() * total);
forEach.call(cuarz, function (estilo) {
estilo.style.display = estilo == cuarz[posicion] ? "block" : "none";
otro =posicion; // defino la posicion del id.
});
} else{
console.log(otro);
alert(otro);
clearInterval(intervalo);
}
}, 100);
}, false);
}
var alreadyrunflag = 0;
if (document.addEventListener)
document.addEventListener("DOMContentLoaded", function(){
alreadyrunflag=1;
VanillaRunOnDomReady();
}, false);
else if (document.all && !window.opera) {
document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>');
var contentloadtag = document.getElementById("contentloadtag")
contentloadtag.onreadystatechange=function(){
if (this.readyState=="complete"){
alreadyrunflag=1;
VanillaRunOnDomReady();
}
}
}
function llamar(){ // creo funcion
setTimeout("if (!alreadyrunflag){VanillaRunOnDomReady}", 0);
}
// window.onload = function(){ //saque el window load y declare una funcion.
// setTimeout("if (!alreadyrunflag){VanillaRunOnDomReady}", 0);
// }
<?php // VARIABLES DE IDS
$a = ('ID '. 1); // ordeno todo los arreglos
$b = ('ID '. 2);
$c = ('ID '. 3);
$d = ('ID '. 4);
$e = ('ID '. 5);
$f = ('ID '. 6);
?>
<form action="" method="post"> <div id='0' style="display: none;"><?php echo $a; ?></div> <!-- ordeno los arreglos --> <div id='1' style="display: none;"><?php echo $b; ?></div> <div id='2' style="display: none;"><?php echo $c; ?></div> <div id='3' style="display: none;"><?php echo $d; ?></div> <div id='4' style="display: none;"><?php echo $e; ?></div> <!-- Por defecto -->
<div id='5' style="display: block;"><?php echo $f; ?></div> <button style="margin-left:20px;" type="button" onclick='llamar();' value="Lanzar Dado" name="button" id="id_boton">¡Lanzar!
</button>
1.- saque window load. y lo cambie por una función para llamar a través de un onclick.
2.- ordene tus div y tus valores.
3.- en tu función declaro un campo otro el cual es la posición del div y que coincide con el id.
eso por lo menos cumple lo que tu necesitas, pero insisto hay formas mas fáciles y con menos lineas de código.