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
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
ciaocodice: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; }
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
Dove sbaglio??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>
dov e' lo stile per questo livello?Originariamente inviato da Pamput
Ho un semplice div con overflow: auto, e vorrei che la scrollbar si spostasse automaticamente in fondo al div
codice:<style type="text/css"> #chatDiv { height:100px; overflow:auto; } </style>
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"?
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
oppure prova a fare semplicemente cosi'codice:// IE6 sembra reagire in maniera inattesa al refresh, per questo prima setto a zero msgs.scrollTop=0;
window.onload=function(){
var msgs=document.getElementById('chatDiv');
msgs.scrollTop=1000000000;
}
se funziona, considera che scrolla al massimo di un miliardo di pixel ... !
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
In pratica dovrei mettere una funzione che carica l'esito del DB prima del caricamento della pagina?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>
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:
Rieccomi..
allora, ho questo "nuovo" codice che mi va a prendere il testo dalla pagina asp che estrapola da database tale testo
lo richiamo conCodice 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', url, false) //get page synchronously
page_request.send(null)
writecontent(page_request)
}
function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}
</script>
ho provato ad applicare .scrollTop e .scrollHeight in vari modi ma non mi da risultati.Codice PHP:
<body>
<div id="chatDiv">
<script type="text/javascript">
ajaxinclude("prova.asp?SC_ID=1")
</script>
</div>
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à
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)