Foros del Web » Programando para Internet » Javascript »

Controlar el nº de elementos que se muestran cada vez

Estas en el tema de Controlar el nº de elementos que se muestran cada vez en el foro de Javascript en Foros del Web. Hola a todos Tengo un Array con unos cuantos elementos y necesito mostrarlos por pantalla en grupos, por ejemplo de 3 en tres, así que ...
  #1 (permalink)  
Antiguo 28/06/2013, 13:26
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 6 años, 6 meses
Puntos: 0
Controlar el nº de elementos que se muestran cada vez

Hola a todos

Tengo un Array con unos cuantos elementos y necesito mostrarlos por pantalla en grupos, por ejemplo de 3 en tres, así que me he creado un botón para que una vez cargada la página y mostrados los 3 primeros, al pulsarle me muestre los 3 siguientes sustituyendo a los 3 anteriores y así sucesivamente hasta llegar al último elemento, pero sólo consigo que me los muestre de uno en uno, tanto al cargar la página como al pulsar el botón, en alguna prueba he conseguido que me muestre 3 nombres, pero es el mismo repetido 3 veces.

&nbsp;&nbsp;&nbsp;&nbsp; Nombres<br>
<span id="lNombres1"></span><br>
<script language="JavaScript" type="text/javascript">
// Carga de personas
var ultimomostrado = 0;
var nombre = new Array();
nombre = [["Daniel",35],
["Luis",42],
["María",19],
["María",51],
["David",28],
["Antonio",21],
["Mario",26]];

for(var i=0; i<nombre.length; i++) {
}
document.getElementById('lNombres1').innerHTML=nom bre[0][0]+" ... "+nombre[0][1];

function siguiente(){
if (ultimomostrado<nombre.length){
ultimomostrado++;
document.getElementById('lNombres1').innerHTML= nombre[ultimomostrado][0]+" ... " +nombre[ultimomostrado][1]+"<br>";
//Cuando llega al último elemento el botón se deshabilita
if(ultimomostrado==nombre.length-1){
document.getElementById("botsiguiente").disabled=t rue;
}else{
document.getElementById("botsiguiente").disabled=f alse;
}
}
}
</script>

<input name="botsiguiente" type="button" id="botsiguiente" onClick="siguiente()" value="Siguiente">
  #2 (permalink)  
Antiguo 28/06/2013, 13:58
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Controlar el nº de elementos que se muestran cada vez

tan simple como usar el contador de 3 en 3 y llevar el registro de cada grupo agregado, se resuelve aplicando una lógica matemática simple
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/07/2013, 02:38
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 6 años, 6 meses
Puntos: 0
Información Respuesta: Controlar el nº de elementos que se muestran cada vez

Pero si pongo el contador a tres

for(var i=0; i<3; i++)
document.getElementById('lNombres1').innerHTML+=bu scarNombre[0][0]+" ... "+buscarNombre[0][1]+"<br>";

me aparece el mismo nombre repetido tres veces
  #4 (permalink)  
Antiguo 01/07/2013, 03:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.596
Antigüedad: 17 años, 7 meses
Puntos: 1277
Respuesta: Controlar el nº de elementos que se muestran cada vez

Hola:

Cuando sumas uno a tu contador será para usarlo (supongo)... y si sumas uno, tendrás que multiplicarlo por los elementos que quieres mostrar para obtener el siguiente...

por ejemplo, si empiezas por cero, lo multiplicas por tres, y obtienes cero (el plimero), luego sumas uno para el segundo y uno más para el tercero...

Luego, ese cero del contador lo incrementas y tienes ahora un uno, que al multiplicarlo por tres obtienes tres (el siguiente primero para mostrar)...

Para solo tres elementos tal vez no interesen los bucles, pero de usarlos deberías planterte la inicialización.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 01/07/2013, 15:01
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 6 años, 6 meses
Puntos: 0
Respuesta: Controlar el nº de elementos que se muestran cada vez

He rehecho el código y ahora de entrada, al cargar la página me muestra tres elementos de golpe, que es lo que yo quiero, pero cuando le doy al botón de siguiente, me va mostrando los siguientes nombres, pero de uno en uno y yo quiero que me muestre los tres siguientes, o sea, por grupos de tres, así hasta terminar, en el último pues a lo mejor me tiene que mostrar uno o dos, depende, de la cantidad total de elementos que tenga el Array.

var inicio = 0;
var limite = 3;
var ultimomostrado = 2;
for (var i=0;i<limite;i++){
document.getElementById("lNombres").innerHTML+=[i]+" - "+nombre[i][0]+" ..... "+buscarNombre[i][1]+"<br>";
}
document.getElementById("lNombres").innerHTML+="<b r>"+"TOTAL....... "+nombre.length+" Personas"+"<br>";

function siguiente(){

if (ultimomostrado<buscarNombre.length){
ultimomostrado++;
var num=ultimomostrado+0;
document.getElementById('lNombres').innerHTML=num+ " - "+nombre[ultimomostrado][0]+" ..."+nombre[i][1]+"<br>";
if(ultimomostrado==nombre.length-1){
document.getElementById("botsiguiente").disabled=t rue;
}else{
document.getElementById("botsiguiente").disabled=f alse;
}
}
}

Última edición por josemar2000; 01/07/2013 a las 15:07

Etiquetas: cada, controlar, elementos, html, input, muestran, vez
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 10:55.