Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2013, 04:05
josemar2000
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 11 años
Puntos: 0
Mostrar los ultimos objetos de un Array

Hola, tengo un array con una serie de nombres y una búsqueda y me he creado los botones para moverme por los resultados de dicha búsqueda y todos funcionan correctamente menos el que va directamente al último.
Me he creado una variable para controlar el numero de objetos que me muestra por página, entonces necesito un botón que me lleve directamente a la última página y esta puede tener la misma cantidad de objetos que el resto o puede tener menos, así que me he creado la siguiente variable para el susodicho botón Ir ultimo
var ultimo = (encontrados.length / limite_resultados); así pues si el resultado tiene decimales me hace una cosa y si no pues me hace otra, sin este botón todos los demás funcionan correctamente, pero con el botón de último el de Ir atrás deja de funcionar correctamente, haber si me podeis echar una mano

Código Javascript:
Ver original
  1. var limite_resultados = 4;
  2.  
  3. var ultimo= 0;
  4. var pagtotal = 0;
  5. var pagactual = 0;
  6. var mostrados = 0;
  7.  
  8. var encontrados=new Array();
  9. var buscarNombre = new Array();
  10. buscarNombre = [["Daniel_1",35],
  11.                 ["Luis_2",42],
  12.                 ["María_3",19],
  13.                 ["Damian_4",51],
  14.                 ["Dario_5",99],
  15.                 ["María_6",21],
  16.                 ["David_7",28],
  17.                 ["Manuel_8",28],
  18.                 ["Mario_9",26]];
  19.  
  20. function calcularTotalPaginas(cantidad){
  21.         var contador = 0;
  22.         do{
  23.             cantidad = parseInt(cantidad) - parseInt(limite_resultados);
  24.             contador++;
  25.         }
  26.         while(cantidad > 0)
  27.         return contador;
  28.     }
  29.  
  30. function irUltimo(){
  31.     document.getElementById('datos').innerHTML = "";
  32.     var mostrados = 0;
  33.     var ultimo = (encontrados.length / limite_resultados);
  34.     //Si tiene decimales me hace esto  
  35.     if (ultimo == parseInt(ultimo)) {      
  36.         var multiply = (encontrados.length - limite_resultados);
  37.         ultimo = multiply;
  38.          for (i = 0; i < limite_resultados; i++){
  39.              if(ultimo < encontrados.length){              
  40.                  document.getElementById('datos').innerHTML += encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>";               
  41.                  ultimo ++;
  42.                  mostrados ++;
  43.             }
  44.         }
  45.     }              
  46.     // Y si tiene decimales me hace esto otro          
  47.     if (ultimo == parseFloat(ultimo)) {    
  48.         var multiply = (encontrados.length / limite_resultados);                               
  49.         ultimo = Math.ceil(encontrados.length - multiply);             
  50.         mostrados = 0;             
  51.         for (i = 0; i < limite_resultados; i++){
  52.                 if(ultimo < encontrados.length){               
  53.                     document.getElementById('datos').innerHTML += encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>";                
  54.                     ultimo ++;
  55.                     mostrados ++;                  
  56.                 }
  57.             }
  58.         }  
  59.            
  60.     pagactual = Math.ceil(encontrados.length / limite_resultados);
  61.     var divpags = document.getElementById("pagina");
  62.     divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal;
  63.    
  64.     if(pagactual == pagtotal) {
  65.             document.getElementById("botprimero").disabled=false;
  66.             document.getElementById("botanterior").disabled=false;
  67.             document.getElementById("botsiguiente").disabled=true;
  68.             document.getElementById("botultimo").disabled=true;
  69.     }else{
  70.             document.getElementById("botprimero").disabled=false;
  71.             document.getElementById("botanterior").disabled=false;
  72.             document.getElementById("botsiguiente").disabled=false;
  73.             document.getElementById("botultimo").disabled=false;   
  74.     }  
  75. }
  76.    
  77. function irSiguiente(){
  78.     document.getElementById('datos').innerHTML = "";       
  79.     mostrados = 0; 
  80.     if(ultimo < encontrados.length){
  81.         for (i = 0; i < limite_resultados; i++){
  82.             if(ultimo < encontrados.length){
  83.                     document.getElementById('datos').innerHTML+= encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>";
  84.             ultimo ++;
  85.                 mostrados ++;
  86.             }
  87.         }
  88.     }  
  89.     pagactual ++;
  90.     var divpags = document.getElementById("pagina");
  91.     divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal;
  92.    
  93.     if(pagactual == pagtotal) {
  94.             document.getElementById("botprimero").disabled=false;
  95.             document.getElementById("botanterior").disabled=false;
  96.             document.getElementById("botsiguiente").disabled=true;
  97.             document.getElementById("botultimo").disabled=true;
  98.     }else{
  99.             document.getElementById("botprimero").disabled=false;
  100.             document.getElementById("botanterior").disabled=false;
  101.             document.getElementById("botsiguiente").disabled=false;
  102.             document.getElementById("botultimo").disabled=false;   
  103.     }  
  104. }  
  105.  
  106. function irPrimero(){
  107.     document.getElementById('datos').innerHTML = "";
  108.     ultimo = 0 ;
  109.     for (i = 0; i < limite_resultados; i++){       
  110.             document.getElementById('datos').innerHTML += encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>";        
  111.             ultimo ++;         
  112.     }
  113.    
  114.     pagactual = 1;
  115.     var divpags = document.getElementById("pagina");
  116.     divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal;
  117.    
  118.     if(pagactual == 1) {
  119.             document.getElementById("botprimero").disabled=true;
  120.             document.getElementById("botanterior").disabled=true;
  121.             document.getElementById("botsiguiente").disabled=false;
  122.             document.getElementById("botultimo").disabled=false;   
  123.     }else{
  124.             document.getElementById("botprimero").disabled=false;
  125.             document.getElementById("botanterior").disabled=false;
  126.             document.getElementById("botsiguiente").disabled=false;
  127.             document.getElementById("botultimo").disabled=false;   
  128.     }
  129. }
  130.  
  131. function irAnterior(){
  132.     document.getElementById('datos').innerHTML = "";
  133.     ultimo = (ultimo - mostrados - limite_resultados) ;
  134.     for (i = 0; i < limite_resultados; i++){
  135.         if(ultimo < encontrados.length){                    document.getElementById('datos').innerHTML += encontrados[ultimo][0]+" ... "+ encontrados[ultimo][1] + "<br>";         
  136.             ultimo ++;
  137.             mostrados = +limite_resultados;    
  138.         }
  139.     }
  140.  
  141.     pagactual --;
  142.     var divpags = document.getElementById("pagina");
  143.     divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal;
  144.    
  145.     if(pagactual == 1) {
  146.             document.getElementById("botprimero").disabled=true;
  147.             document.getElementById("botanterior").disabled=true;
  148.             document.getElementById("botsiguiente").disabled=false;
  149.             document.getElementById("botultimo").disabled=false;   
  150.     }else{
  151.             document.getElementById("botprimero").disabled=false;
  152.             document.getElementById("botanterior").disabled=false;
  153.             document.getElementById("botsiguiente").disabled=false;
  154.             document.getElementById("botultimo").disabled=false;   
  155.     }
  156. }

Última edición por josemar2000; 06/11/2013 a las 04:39