logoExtra: script.top_10_ajax

Descripción: n_apuntes obtiene con Ajax los apuntes disponibles del diario. poner_listado se encarga de las consultas Ajax y click_top se asocia a los enlaces de paginación.


A continuación mostramos los apuntes asociados a este extra:

Top 10 con Ajax (paginación)
Últimamente hemos modificado la página para mostrar los apuntes creados cada mes en la sección archivos, por lo que la sección "Últimos apuntes" tiene ahora poco sentido mantenerla. Por otro lado, en otro apunte hemos mostrado los 10 apuntes más leídos del diario, y hemos pensado que es lo que podría sustituir la sección antes mencionada.
// Descripción para sindicación:
/*
    [rss]n_apuntes obtiene con Ajax los apuntes disponibles del diario.
    poner_listado se encarga de las consultas Ajax y click_top se asocia a los enlaces de paginación.[/rss]
*/
var listado_tope_actual = "0";
function n_apuntes()    {
    url = "diario.jocker.php?extra=n_apuntes";
    Ajax = objetoAjax();
    Ajax.open("GET", url, true);
    Ajax.onreadystatechange = function()    {
        if(Ajax.readyState == 4 && Ajax.status == 200) {
            n_anotaciones = Ajax.responseText;
            tag("num_apuntes").innerHTML = n_anotaciones;
            total_anotaciones = parseInt(n_anotaciones / 10);
            total_anotaciones += (n_anotaciones % 10 == 0) ? 0:1;
            tag("total_paginas").innerHTML = total_anotaciones;
            for (i = 1; i < total_anotaciones; i++)    {
                pp = document.createElement("li");
                aa = document.createElement("a");
                aa.appendChild(document.createTextNode(i + 1));
                aa.href = "diario.jocker.php?extra=top&pag=" + (i + 1);
                aa.id = "top_paginas_" + (i + 1);
                pp.appendChild(aa);
                tag("top_paginas").appendChild(pp);
                poner_evento(aa, "click", click_top);
            }
            poner_evento(tag("top_paginas_1"), "click", click_top);
            tag("top_paginas_1").style.fontSize = "1.4em";
            poner_listado(1);
        }
    }
    Ajax.send();
}

function poner_listado(n)    {
    tag("espera_top").style.visibility = "visible";
    url = "diario.jocker.php?extra=top&pag=" + n;// alert("poniendo listado " + n);
    Ajax = objetoAjax();
    Ajax.open("GET", url, true);
    Ajax.onreadystatechange = function()    {
        if(Ajax.readyState == 4 && Ajax.status == 200) {

            nueva_capa = document.createElement("dl");
            nueva_capa.id = "listado_top_" + n;
            nueva_capa.className = "enlaces";
            tag("listado_tope").appendChild(nueva_capa);
            respuesta = Ajax.responseXML.documentElement;
            items = respuesta.getElementsByTagName("item");
            for (i = 0, total = items.length; i < total; i++)    {
                la_cuenta = items[i].getAttribute("cuenta");
                el_enlace = items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
                el_titulo = items[i].getElementsByTagName("title")[0].firstChild.nodeValue;
                la_desc = (items[i].getElementsByTagName("description")[0].hasChildNodes()) ?
                    items[i].getElementsByTagName("description")[0].firstChild.nodeValue: "sin descripción";
                nuevo_dt = document.createElement("dt");
                nuevo_enlace = document.createElement("a");
                nuevo_enlace.href = el_enlace;
                nuevo_enlace.setAttribute("title", 'ir al apunte "' + el_titulo + '"');
                nuevo_enlace.appendChild(document.createTextNode(el_titulo));
                nuevo_sup = document.createElement("sup");
                nuevo_sup.appendChild(document.createTextNode(" (" + la_cuenta + " visitas)"));
                nuevo_dt.appendChild(nuevo_enlace);
                nuevo_dt.appendChild(nuevo_sup);
                nueva_capa.appendChild(nuevo_dt);
                nuevo_dd = document.createElement("dd");
                nuevo_dd.appendChild(document.createTextNode(la_desc));
                nueva_capa.appendChild(nuevo_dd);
            };
            tag("n_pagina").innerHTML = n;
            if (listado_tope_actual != 0)
                tag("listado_top_" + listado_tope_actual).style.display = "none";
            listado_tope_actual = n;
            tag("espera_top").style.visibility = "hidden";
        }
    }
    Ajax.send();
}

poner_evento(window, "load", n_apuntes);
function click_top(e)    {
    tag("top_paginas_" + listado_tope_actual).style.fontSize = "1em";
    this.style.fontSize = "1.4em";
    listado = this;
    listado_id = this.id;
    desglose_listado_id = listado_id.split("_");
    n = desglose_listado_id.pop();
    if (n != listado_tope_actual)    {
        if (tag("listado_top_" + n) == undefined)    {
            poner_listado(n);
        }
        else    {
            tag("listado_top_" + listado_tope_actual).style.display = "none";
            tag("listado_top_" + n).style.display = "block";
            listado_tope_actual = n;
            tag("n_pagina").innerHTML = n;
        }
    }
    cancelar_evento(e);
}

Este código ha sido leído en 71 ocasiones.

Zona de comentarios

Esta extra aún no tiene comentarios.

Evaluación

Valoración de esta página: (extra.script.top_10_ajax) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Listados: imágenes, categorías, etiquetas, extras | Anuarios: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 | Otros enlaces: buscador