John Roronoa
Iota
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario popular!
<div id="container">
<div class="shuffleMe"> DIV 1</div>
<div class="shuffleMe"> DIV 2</div>
<div class="shuffleMe"> DIV 3</div>
<div class="shuffleMe"> DIV 4</div>
<div class="shuffleMe"> DIV 5</div>
<div class="shuffleMe"> DIV 6</div>
</div>
<button onclick="shuffle()">
SHUFFLE
</button>
function shuffle() {
var container = document.getElementById("container");
var elementsArray = Array.prototype.slice.call(container.getElementsByClassName('shuffleMe'));
elementsArray.forEach(function(element){
container.removeChild(element);
})
shuffleArray(elementsArray);
elementsArray.forEach(function(element){
container.appendChild(element);
})
}
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
Literalmente comienza del padre, el codigo que yo manejo tiene un mierd*****, supongo que tendre que ajustar algunas clases y leer dichos divs por clases, ya que el ID tampoco ayuda mucho ya que el numero de divs siempre será diferente.Ahí lo tienes 😉
HTML
HTML:<div id="container"> <div class="shuffleMe"> DIV 1</div> <div class="shuffleMe"> DIV 2</div> <div class="shuffleMe"> DIV 3</div> <div class="shuffleMe"> DIV 4</div> <div class="shuffleMe"> DIV 5</div> <div class="shuffleMe"> DIV 6</div> </div> <button onclick="shuffle()"> SHUFFLE </button>
JS
JavaScript:function shuffle() { var container = document.getElementById("container"); var elementsArray = Array.prototype.slice.call(container.getElementsByClassName('shuffleMe')); elementsArray.forEach(function(element){ container.removeChild(element); }) shuffleArray(elementsArray); elementsArray.forEach(function(element){ container.appendChild(element); }) } function shuffleArray(array) { for (var i = array.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = array[i]; array[i] = array[j]; array[j] = temp; } return array; }
Fuente: https://stackoverflow.com/questions/43979555/javascript-shuffle-divs-within-div
Claro, tendrás que ajustarlo a tus necesidades. Pero vamos, el 80% ya lo tienes hecho.Literalmente comienza del padre, el codigo que yo manejo tiene un mierd*****, supongo que tendre que ajustar algunas clases y leer dichos divs por clases, ya que el ID tampoco ayuda mucho ya que el numero de divs siempre será diferente.
Igual solo es cuestion de moverle poquito a ese codigo que me pasaste
Gracias bro
Literalmente comienza del padre, el codigo que yo manejo tiene un mierd*****, supongo que tendre que ajustar algunas clases y leer dichos divs por clases, ya que el ID tampoco ayuda mucho ya que el numero de divs siempre será diferente.
Igual solo es cuestion de moverle poquito a ese codigo que me pasaste
Gracias bro
document.querySelectorAll('div[id^=post_div_')
y si los ids fueranLos IDs se pueden usar igual, solo captura los nodos con querySelectorAll en lugar de getElementsByClassName:
JavaScript:document.querySelectorAll('div[id^=post_div_')
Con eso capturará todos los divs que tengan un ID que comience con "post_div_".
kj
Pues así:y si los ids fueran
#div_1_containerhome
#div_2_containerhome
#div_3_containerhome
...
etc
document.querySelectorAll("div[id$=_containerhome]");
Correcto, no se puede tocar el HTMLPues así:
JavaScript:document.querySelectorAll("div[id$=_containerhome]");
Siempre que no haya otro id que finalice con "_containerhome". De todas formas, ¿no es más sencillo que añadas una clase a esos divs? ¿O es que no puedes tocar el HTML?
Gracias. Ya analice todo el código que no puedo tocar, y a pesar de ser un cochinero, encontré un patrón para seleccionar esos divs sin ninguna interferencia de otro elemento similar.Si estas usando Jquery, por que no aprovecharlo.
Es mas, se puede comprimir aun mas usando eq()
Jquery la hace muy simple con los selectores, por ejemplo:Gracias. Ya analice todo el código que no puedo tocar, y a pesar de ser un cochinero, encontré un patrón para seleccionar esos divs sin ninguna interferencia de otro elemento similar.
Y si, veo que ese código quedó más compacto. Gracias.
De lujo men, se te agradece al 100te hice un pen
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?