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
var limite_resultados = 4; var ultimo= 0; var pagtotal = 0; var pagactual = 0; var mostrados = 0; var encontrados=new Array(); var buscarNombre = new Array(); buscarNombre = [["Daniel_1",35], ["Luis_2",42], ["María_3",19], ["Damian_4",51], ["Dario_5",99], ["María_6",21], ["David_7",28], ["Manuel_8",28], ["Mario_9",26]]; function calcularTotalPaginas(cantidad){ var contador = 0; do{ cantidad = parseInt(cantidad) - parseInt(limite_resultados); contador++; } while(cantidad > 0) return contador; } function irUltimo(){ document.getElementById('datos').innerHTML = ""; var mostrados = 0; var ultimo = (encontrados.length / limite_resultados); //Si tiene decimales me hace esto if (ultimo == parseInt(ultimo)) { var multiply = (encontrados.length - limite_resultados); ultimo = multiply; for (i = 0; i < limite_resultados; i++){ if(ultimo < encontrados.length){ document.getElementById('datos').innerHTML += encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>"; ultimo ++; mostrados ++; } } } // Y si tiene decimales me hace esto otro if (ultimo == parseFloat(ultimo)) { var multiply = (encontrados.length / limite_resultados); ultimo = Math.ceil(encontrados.length - multiply); mostrados = 0; for (i = 0; i < limite_resultados; i++){ if(ultimo < encontrados.length){ document.getElementById('datos').innerHTML += encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>"; ultimo ++; mostrados ++; } } } pagactual = Math.ceil(encontrados.length / limite_resultados); var divpags = document.getElementById("pagina"); divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal; if(pagactual == pagtotal) { document.getElementById("botprimero").disabled=false; document.getElementById("botanterior").disabled=false; document.getElementById("botsiguiente").disabled=true; document.getElementById("botultimo").disabled=true; }else{ document.getElementById("botprimero").disabled=false; document.getElementById("botanterior").disabled=false; document.getElementById("botsiguiente").disabled=false; document.getElementById("botultimo").disabled=false; } } function irSiguiente(){ document.getElementById('datos').innerHTML = ""; mostrados = 0; if(ultimo < encontrados.length){ for (i = 0; i < limite_resultados; i++){ if(ultimo < encontrados.length){ document.getElementById('datos').innerHTML+= encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>"; ultimo ++; mostrados ++; } } } pagactual ++; var divpags = document.getElementById("pagina"); divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal; if(pagactual == pagtotal) { document.getElementById("botprimero").disabled=false; document.getElementById("botanterior").disabled=false; document.getElementById("botsiguiente").disabled=true; document.getElementById("botultimo").disabled=true; }else{ document.getElementById("botprimero").disabled=false; document.getElementById("botanterior").disabled=false; document.getElementById("botsiguiente").disabled=false; document.getElementById("botultimo").disabled=false; } } function irPrimero(){ document.getElementById('datos').innerHTML = ""; ultimo = 0 ; for (i = 0; i < limite_resultados; i++){ document.getElementById('datos').innerHTML += encontrados[ultimo][0] +" ... "+ encontrados[ultimo][1] + "<br>"; ultimo ++; } pagactual = 1; var divpags = document.getElementById("pagina"); divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal; if(pagactual == 1) { document.getElementById("botprimero").disabled=true; document.getElementById("botanterior").disabled=true; document.getElementById("botsiguiente").disabled=false; document.getElementById("botultimo").disabled=false; }else{ document.getElementById("botprimero").disabled=false; document.getElementById("botanterior").disabled=false; document.getElementById("botsiguiente").disabled=false; document.getElementById("botultimo").disabled=false; } } function irAnterior(){ document.getElementById('datos').innerHTML = ""; ultimo = (ultimo - mostrados - limite_resultados) ; for (i = 0; i < limite_resultados; i++){ if(ultimo < encontrados.length){ document.getElementById('datos').innerHTML += encontrados[ultimo][0]+" ... "+ encontrados[ultimo][1] + "<br>"; ultimo ++; mostrados = +limite_resultados; } } pagactual --; var divpags = document.getElementById("pagina"); divpags.innerHTML = "mostrando página: " + pagactual + "/" + pagtotal; if(pagactual == 1) { document.getElementById("botprimero").disabled=true; document.getElementById("botanterior").disabled=true; document.getElementById("botsiguiente").disabled=false; document.getElementById("botultimo").disabled=false; }else{ document.getElementById("botprimero").disabled=false; document.getElementById("botanterior").disabled=false; document.getElementById("botsiguiente").disabled=false; document.getElementById("botultimo").disabled=false; } }