webForumDet fria alternativet

Scrolla då ajax laddat klart

7 svar · 702 visningar · startad av Gaski

GaskiMedlem sedan juni 2000310 inlägg
#1

Jag önskar scrolla ner i en div (som fylls av en ajax-funktion) då den är färdigladdad. Bifogad kod känns som om det skulle fungera, men det gör den inte. Hur kan man åstakomma detta?

function updatePlan() {
  var xmlHttp
  try{
    xmlHttp=new XMLHttpRequest();
  }catch (e){
    try{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }catch (e){
      try {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }catch (e){
        alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4) {
      document.getElementById('plan').innerHTML=xmlHttp.responseText;
      document.getElementById('mainContent').scrollTop = 200;
    }
  }                                                                             
  url = "plan.php"
  xmlHttp.open("GET",url,true)
  xmlHttp.setRequestHeader(
        "Content-Type",
        "text/html; charset=iso-8859-1");
  xmlHttp.send(null)
Peter SMedlem sedan dec. 20025 483 inlägg
#2

Hur ser HTML-koden ut?

GaskiMedlem sedan juni 2000310 inlägg
#3

Hmm, den är lång, den vill du inte se :)

plan är en div som ligger i mainContent, som också är en div. Det är mainContent som jag vill scrolla när texten har laddats in i plan.

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Följande fungerar för mig:

<form>
 <input type=button onclick="document.getElementById('d').scrollTop=20">
</form>
<div id="d" style="background:red;overflow-y:auto;height:50px;width:60px">
 <div style="background:green">a<br>b<br>c<br>d</div>
</div>
GaskiMedlem sedan juni 2000310 inlägg
#5

Ja, men det är inte om scrollTop fungerar eller ej som är frågan. Frågan är hur jag ska kunna köra en funktion 'onComplete'. Dvs när den andra är klar.

Peter SMedlem sedan dec. 20025 483 inlägg
#6

Du vill köra en funktion när onreadystatechange är klar?

GaskiMedlem sedan juni 2000310 inlägg
#7

Precis

Peter SMedlem sedan dec. 20025 483 inlägg
#8

Lägg in anropet i

  xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4) {
      document.getElementById('plan').innerHTML=xmlHttp.responseTe  xt;
      document.getElementById('mainContent').scrollTop = 200;
      [b]code goes here...[/b]
    }
  }
134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)