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

    [Javascript]Muovere scroll bar in un DIV

    Salve a tutti,

    Ho un semplice div con overflow: auto, e vorrei che la scrollbar si spostasse automaticamente in fondo al div al caricamento della pagina (qualcuno ha detto CHAT?).

    Non ho la piu' pallida idea di come gestire la cosa.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    window.onload=function(){
    	var msgs=document.getElementById('chat');
    // IE6 sembra reagire in maniera inattesa al refresh, per questo prima setto a zero  :bhò: 
    	msgs.scrollTop=0; 
    	msgs.scrollTop=msgs.scrollHeight;	
    }
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    Riporto in alto quest discussione perchè sono giorni che cerco qualcosa di smile senza avere risultati.
    Ho provato i codici di queste pagine :
    http://sevencapitalsins.wordpress.co...smooth-scroll/
    http://radio.javaranch.com/pascarell...573598403.html
    senza risultati.
    Alla fine torno qui provo questo codice e niente quindi mi è venuto il dubbio che sbagli a posizionare il codice.. questa è tutta la pagina di prova
    Codice PHP:
    <head>
    <
    title>ProvA</title>
    <
    script type="text/javascript">
    window.onload=function(){
        var 
    msgs=document.getElementById('chatDiv');
    // IE6 sembra reagire in maniera inattesa al refresh, per questo prima setto a zero  :bhò: 
        
    msgs.scrollTop=0
        
    msgs.scrollTop=msgs.scrollHeight;    
    }

    </script>
    </head>
    <body> 
    <div id="chatDiv">
      

    1
      </p>
      

    2</p>
      

     3</p>
      

     4</p>
      

     5</p>
      

     6</p>
      

     7</p>
      

     8</p>
      

     9</p>
      

     0</p>
      

     1</p>
      

     2</p>
      

     3</p>
      

     4</p>
      

     5</p>
      

     6</p>
      

     7</p>
      

    8</p>
      

    9</p>
      

    0 </p>
    </div>
    </body>
    </html> 
    Dove sbaglio??

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: [Javascript]Muovere scroll bar in un DIV

    Originariamente inviato da Pamput
    Ho un semplice div con overflow: auto, e vorrei che la scrollbar si spostasse automaticamente in fondo al div
    dov e' lo stile per questo livello?
    codice:
    <style type="text/css">
    #chatDiv {
    	height:100px;
    	overflow:auto;
    }
    </style>

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    Grazie era proprio non aver messo l'"auto", peccato che al reload della pagina mi fa uno scatto prima di scendere giù , ovviamente il testo è molto più lungo (nel div c'è codice asp che prende i dati dal database), c'è un modo per agirare lo "scatto"?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova ad usare una funzione che faccia partire le istruzioni al caricamento del solo DOM
    http://forum.html.it/forum/showthrea...postid=9820881
    invece che all' onload

    oppure prova rimuovendo questo, ma se poi hai problemi con IE sai da cosa dipendono
    codice:
    // IE6 sembra reagire in maniera inattesa al refresh, per questo prima setto a zero
        msgs.scrollTop=0;
    oppure prova a fare semplicemente cosi'
    window.onload=function(){
    var msgs=document.getElementById('chatDiv');
    msgs.scrollTop=1000000000;
    }

    se funziona, considera che scrolla al massimo di un miliardo di pixel ... !

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    Ho provato le due modifiche che mi hai scritto ma lo scatto lo fa ugualmente
    Ho dato uno sguardo al post che mi hai linkato ma lo vedo un po' complicato
    il codice completo è questo
    Codice PHP:


    <html>
    <
    head>

    <
    META HTTP-EQUIV="REFRESH" CONTENT="3">

    <
    script type="text/javascript">
    window.onload=function(){
    var 
    msgs=document.getElementById('chatDiv');
    msgs.scrollTop=1000000000

    </script> 
    <style type="text/css">
    #chatDiv {
        height:100px;
        overflow:auto;
    }
    </style>

    </head>
    <body>
    <table border="0" cellspacing="1" cellpadding="0" width="100%" bgcolor="fffffff">
    <tr>
    <td bgcolor="FFFFFF" width="11" valign="top" align="right" 

    class="puntini">::</CLASS><center>


    M
    E
    X</center></td>
    <td bgcolor="#ffffff" valign="top">
    <div id="chatDiv"> 

    <%
    SC_ID = Request.QueryString("SC_ID")
    Set connessione = Server.CreateObject("ADODB.Connection")
    connessione.Open connectionString
    Set rs = Server.CreateObject("ADODB.Recordset")
    query="SELECT * FROM TESTI where SC_ID="&SC_ID&""
    RS.Open query,connessione
    if not rs.eof then 
       Do until RS.eof %>
    [b]<font color="000000"><%=RS("T_TESTI")%></font>[/b]
     
    <% RS.movenext
    loop
    end if
    rs.close
    set rs = nothing
    connessione.close
    set connessione = nothing
    %><META HTTP-EQUIV="REFRESH" CONTENT="3">
    </div>
    </td>
    </tr>
    </table>
    </body>
    </html> 
    In pratica dovrei mettere una funzione che carica l'esito del DB prima del caricamento della pagina?
    Non dovrebbe farlo già scrivendo
    Codice PHP:
    document.getElementById('chatDiv'); 
    ?
    Mi viene in mente ora che forse, effettivamente, lo carica ma poi "rilegge" il codice asp mentre ricompila la pagina?
    Impazzisco :berto:

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    Rieccomi..
    allora, ho questo "nuovo" codice che mi va a prendere il testo dalla pagina asp che estrapola da database tale testo
    Codice PHP:
    <script type="text/javascript">

    //To include a page, invoke ajaxinclude("afile.htm") in the BODY of page
    //Included file MUST be from the same domain as the page displaying it.

    var rootdomain="http://"+window.location.hostname

    function ajaxinclude(url) {
    var 
    page_request false
    if (window.XMLHttpRequest// if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
    else if (
    window.ActiveXObject){ // if IE
    try {
    page_request = new ActiveXObject("Msxml2.XMLHTTP")

    catch (
    e){
    try{
    page_request = new ActiveXObject("Microsoft.XMLHTTP")
    }
    catch (
    e){}
    }
    }
    else
    return 
    false
    page_request
    .open('GET'urlfalse//get page synchronously 
    page_request.send(null)
    writecontent(page_request)
    }

    function 
    writecontent(page_request){
    if (
    window.location.href.indexOf("http")==-|| page_request.status==200)
    document.write(page_request.responseText)
    }
    </script> 
    lo richiamo con
    Codice PHP:
    <body>



    <
    div id="chatDiv">


    <
    script type="text/javascript">
    ajaxinclude("prova.asp?SC_ID=1")
    </script>


    </div> 
    ho provato ad applicare .scrollTop e .scrollHeight in vari modi ma non mi da risultati.
    Se non erro "document.write(page_request.responseText)" è il comando che scrive la pagina come faccio a dirgli che prima di scriverla deve calcolare quanto è lunga e portare la barra alla fine?
    Non è più scrollare un div (ci ho provato ma non riesce... forse sbaglio ovviamente) ma scrollare fino alla fine proprio la pagina.
    Grazie all'anima pia che mi risponderà

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    come non detto ho trovato non appena ho scritto nel post precedente
    "fino alla fine proprio la pagina "


    window.scroll(0, document.body.scrollTop+screen.height)

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.