Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema scroll di un div e ajax

    Salve a tutti,
    ho un applicativo ajax (chat) che mostra in un determinato intervallo dei dati in un div di dimensioni fisse a cui ho applicato la proprietà overflow:scroll;
    Il problema è che all'invio di ogni nuovo messaggio il "puntatore" si ri-sposta all'inizio del div creando un effetto alquanto scomodo all'utente che per leggere gli ultimi messaggi deve fare scrolling ogni volta fino alla fine (le chat mantengono l'ultimo messaggio sempre in fondo).

    Mi chiedevo se esiste un modo di mantere sempre la fine del div (a prescindere dalle dimensioni e dai dati contenuti) anche, ad esempio, al refresh della pagina, o con una soluzione basata su javascript.
    Esiste soluzione o mi consigliereste altre strade?
    Grazie in anticipo per le risposte

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La strada + semplice (se non ci hai già pensato) è invertire i dati se salvati in db, oppure lavorare su ajax quando carica i dati invertirli, questa operazione (se possibile) e abbastanza complicata dipende dalle tue conoscenze in javascript/ajax.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152

    scrollTop scrollRight scrollBottom scrollLeft scrollHeight offsetHeight

    codice:
    <!DOCTYPE xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
    <html>
    <head>
    <TITLE>default bottom scrolling div</TITLE>
    
    <script type="text/javascript">
    
    function setup(){
     box = document.getElementById("field");
     box.scrollTop = box.scrollHeight;
     
     alert("offsetHeight = "+box.offsetHeight+
           "\n\nscrollHeight = "+box.scrollHeight);
     }
    </script>
    
    </head>
    <body text="#000000" bgcolor="#909090" onload='setup();'>
    
    <div style="width: 400px; margin: 80px auto 10px auto; overflow: hidden;">
      W 400 x H 280 px DIV
    </div>
    
    <div id="field" 
     style="height: 280px; width: 400px; margin: 0px auto; overflow: scroll; background-color: #E3E3E3;"
     >
     contenuto
    contenuto
    contenuto
    contenuto
    contenuto
    
     contenuto
    contenuto
    contenuto
    contenuto
    contenuto
    
     contenuto
    contenuto
    contenuto
    contenuto
    contenuto
    
     contenuto
    contenuto
    contenuto
    contenuto
    contenuto
    
     contenuto
    contenuto
    contenuto
    contenuto
    contenuto
    
    </div>
    
    
    </body>
    </html>
    IExplorer vuole il !DOCTYPE xhtml perché margin: auto; funzioni; questo o quello comunque, non compromette lo SCRIPT.


    box.scrollTop = box.offsetHeight;
    anche sembrerebbe funzionare, ora; ma non se il contenuto aumenta ancora.
    Stai a:

    box.scrollTop = box.scrollHeight;

  4. #4
    Grazie a entrambi per le risposte!
    Ora provo la tua soluzione Straystudios

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.