Visualizzazione risultati 1 fino 5 di 5

Discussione: div che si scrolla da solo

  1. #1
    Guest

    Predefinito div che si scrolla da solo

    Ciao a tutti, dopo chiarimenti via pm con heracleum sono di nuovo qui con la mia richiesta su sto div del cavolo lol lol

    Allora, all'interno di una pagina php ho un div
    <div id=area></div>

    Bene, finqui ci siamo.. All'apertura della pagina in questo div ci sono 3 parole, ma col passare del tempo (secondi, intendo) in questo div compaiono sempre piu elementi (parole o al massimo immagini) senza che la pagina venga in nessun moto ricaricata o venga eseguito alcun refresh...

    Avendo impostato una scrollbar nel div e delle dimensioni di altezza ben precise, quando il testo che si va ad aggiungere a quello gia presente nel div non "sta" piu nello spazio mostrato, compare la scroll e il nuovo testo non compare... Bene... vorrei che la scroll scendesse per permettere la visione di questo testo...

    Il div si aggiorna automaticamente tramite uno script ajax.. la funzione che lo aggiorna si chiama httphandleresponse(); ed è un javascript...

    ecco il cod della funzione:

    Codice:
    function handleHttpResponse() {
    var xmlDocument = http.responseXML; 
    var contenuto = xmlDocument.getElementsByTagName('city').item(0).firstChild.data;
    var online = xmlDocument.getElementsByTagName('state').item(0).firstChild.data;
    var attuale = document.getElementById('area').innerHTML;
    var online = "<table cellspacing=0 cellpadding=0 border=0><tr height=5><td></td></tr><tr><td>" + online;
    var online = online.split("!|!$|").join("</td></tr><tr height=5><td></td></tr><tr><td>");
    var online = online + "</td></tr></table>";
    document.getElementById('user').innerHTML = online;
    
    if (contenuto == attuale) {
    var nuovo = attuale;
    } else {
    var nuovo = contenuto;
    }
    document.getElementById('area').innerHTML = nuovo;
    
    }
    Non so proprio come fare...

    Grazie a tutti!
    Giacomo

  2. #2
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Beh questo è tutto un altro post, ora si capisce:
    1) "quando" scrollare, l'evento
    2) "perché" scrollare (perché il contenuto viene aggiunto man mano e NON all'apertura della pagina come si poteva supporre "altrove")
    3) "quale metodo" usare, visto che l'html viene generato man mano via Javascript

    Dunque la soluzione è sempre Javascript e consta di una sola riga di codice da aggiungere alla FINE della function che hai postato sopra, o meglio l'ultima tua riga:
    document.getElementById('area').innerHTML = nuovo;

    la sostituisci con queste:
    Codice:
    var areadiv = document.getElementById('area');
    areadiv.innerHTML = nuovo;
    areadiv.scrollTop = areadiv.scrollHeight;
    ed hai risolto.
    Molto semplice quando si ha ben chiaro lo scenario e la cosa si risolve in 5 minuti senza perdite di tempo per molti
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  3. #3
    Guest

    Predefinito

    grazie, è esattamente cioè di cui avevo bisogno!

    finalmente puoi chiudere per "Problema risolto ;)"

    ciao!!!

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    "Te pòzzino caricàtte!"

    Spero che almeno dopo tutta questa storia di "chiudi e richiudi e riscrivi meglio"...
    la prossima volta che chiedi qualcosa penserai alla faccenda e ci spenderai quel paio di minuti in più per descrivere esaurientemente il caso
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    Guest

    Predefinito

    senza dubbio ;)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •