Avatar billede brian-johansen Nybegynder
10. juli 2007 - 11:22 Der er 36 kommentarer og
1 løsning

Scroll Top på Div i IE

Hej,

Jeg har et problem med at jeg ikke kan få lov at sætte en scrolltop på et Div tag.

Jeg har værdien som jeg skal bruge, den vil bare ikke sætte den til det, og bliver altid 0.

Jeg prøver at sætte den til på denne måde:
document.getElementById('myTreeBrowser').scrollTop = '<%=Request.Form("myTreeBrowserTop") %>';

Nogen ideer ?

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 12:35 #1
document.getElementById('myTreeBrowser').scrollTop = <%=Request.Form("myTreeBrowserTop") %>;
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 12:44 #2
Hej,
er det ikke det jeg også har skrevet ?

mvh Brían
Avatar billede kalp Novice
10. juli 2007 - 12:45 #3
næh - copy & paste
Avatar billede kalp Novice
10. juli 2007 - 12:45 #4
Du skriver desuden "Request.Form" og det er der hvor værdien skal hentes fra?
og ikke Request.QueryString ?
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 12:49 #5
Nej, Den henter værdien i et hidden field på formen. Værdien er god nok har tjekket.

Prøver lige copy & paste
Avatar billede kalp Novice
10. juli 2007 - 12:53 #6
hvis det stadig ikke virker så skal du nok requeste det og gemme det i en javascript integer variabel først
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 12:53 #7
jamen kan den huske det efter et postback ?
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 12:56 #8
Humm... nu er den begyndt at åbne et nyt vindue hver gang jeg trykker på et link i boksen, ved du hvordan jeg kan omgåes dette ?

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 12:57 #9
document.getElementById('myTreeBrowser').scrollTop = parseInt(<%=Request.Form("myTreeBrowserTop") %>);

til det oprindelige spørgsmål
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 13:01 #10
Heh er ikke så stærk i Javascript... men har sat en alert boks på parseInt(<%=Request.Form("myTreeBrowserTop") %>); og får værdien naN hvad er det ? det samme som null eller hvad ?

mvh Brian
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 13:02 #11
Never mind fik den rigtige værdi ud nu.... men den ændre stadig ikke på scroll baren ?

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 13:02 #12
når siden er loaded - ser kildekoden så korrekt ud?
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 13:06 #13
ja det synes jeg... den ligger inde i noget componenart (http://www.componentart.com/) , så det er et temmelig rodet output jeg får.

Men jeg synes bare når jeg kigger rundt på forskellige sider så vil de gerne have men bruge noget med fixed position og noget document.documentElement.scrollTop.... men kan ikke lige se hvordan det passer ind i mit.

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 13:15 #14
det du gerne vil have er at når siden loader så kan du sende et værdi med som fortæller hvor højt op der skal scroll'es på div'en?
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 13:22 #15
Ja, det kan man godt sige.

Det, det skal bruges til er, at der i min div er en masse elementer, som når man trykker på en af disse, poster den side tilbage, men jeg vil gerne have sådan at brugeren ikke skal køre helt ned til det element han/hun klikkede på, men når siden starter så er scroll baren kørt derned.

Jeg har fået den til at gemme scroll positionen, men når jeg prøver at sætte værdien til scrollTop på min div, så sker der intet.

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 13:25 #16
så scroll direkte til punktet..

prøv

var position = parseInt(<%=Request.Form("myTreeBrowserTop") %>);
var myDiv = document.getElementById('myTreeBrowser');
myDiv.scrollTo(position);
Avatar billede kalp Novice
10. juli 2007 - 13:26 #17
tror din ScrollTop altid giver 0 fordi dens funktion er som navnet indikere at sende dig til toppen :D
Avatar billede kalp Novice
10. juli 2007 - 13:26 #18
(og ellers kan du prøve med den kode vi har brugt før, men bare du sørger for at bruge scrollTo istedet for scrollTop)
Avatar billede olebole Juniormester
10. juli 2007 - 13:42 #19
<ole>

Nej, du kan ikke bruge scrollTo. Den metode findes ikke på et alm. DOM-element ... kun på et window-object. Prøv at lægge et link til din side

/mvh
</bole>
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 13:46 #20
Kan ikke vise et link, da det ligger på nogle interne servere... desværre... men det der undre mig er at, jeg synes det er den metode alle bruger, men kan bare ikke få det til at fungere trods det at jeg har det værdi jeg skal bruge.

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 13:47 #21
sidste bud -

var position = 0;
position = <%=Request.Form("myTreeBrowserTop") %>;
document.getElementById('myTreeBrowser').scrollTop = position;
Avatar billede kalp Novice
10. juli 2007 - 13:49 #22
du kan jo evt. anbringe scriptet i bunden af siden - medmindre det bliver kørt i body unload
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 14:13 #23
Hej, den bliver kørt i onload metoden kan det have noget med det at gøre ?

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 14:18 #24
nej jeg vil mene den helst skal køres der:)

sikker på der ikke kommer nogle javascript fejl eller lignende? husk at tjekke i din browser
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 14:25 #25
Den fejler ikke så vidt jeg kan se. Men jeg må prøve at arbejde videre med det.

Poster lige løsningen hvis jeg finder den.

Tak for din hjælp. Vil du ligge et svar ?

mvh Brian
Avatar billede kalp Novice
10. juli 2007 - 14:26 #26
Du tager bare point selv:)
Avatar billede kalp Novice
10. juli 2007 - 14:36 #27
hmm.. nu har jeg ikke testet med parameter der bliver sendt.. men dette virker..

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
function scrollTo(){
document.getElementById('kalpsDiv').scrollTop = 110;
}
</script>
</head>
<style type="text/css">

div.scroll
{ width: 400px; height:80px; background:#ffffcc; overflow:auto; border:1px solid #cccccc; padding:8px;}

</style>
<body onLoad="scrollTo();">

<div id="kalpsDiv" class="scroll">
  <p>asdasd
  asd
  asdas
  as
  d
  asd
  asd
  as
  d
  as
  asd
  as
  d</p>
  <p>asd</p>
  <p>asd</p>
  <p>as</p>
  <p>d</p>
  <p>asd</p>
  <p>as</p>
  <p>ds</p>
  <p>a as</p>
</div>

</body>
</html>
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 15:01 #28
Hvilken browser bruger du ?
Avatar billede kalp Novice
10. juli 2007 - 15:04 #29
har testet den 2 forskellige IE version OG firefox.. virker fint.
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 15:09 #30
Fatter bare ikke det her :( det må være det componentart der fucker op... Nu har jeg sat det til en konstant... og det ændre bare intet.
Avatar billede kalp Novice
10. juli 2007 - 15:11 #31
du kan jo prøve at gemme min kode som html.. åben filen og se om den ikke har scroll'et allerede:) så ved du om det er et problem et andet sted.. eller din browser  indstillinger
Avatar billede brian-johansen Nybegynder
10. juli 2007 - 15:13 #32
Okay prøver jeg :D

Mange tak for din tid og hjælp!

mvh Brian
Avatar billede olebole Juniormester
11. juli 2007 - 11:55 #33
- men da der i forvejen findes en metode på window-objektet, som hedder scrollTo, bør man nok vælge et andet navn - så metoden ikke er overskrevet, hvis man om et halvt år vil til at bruge den til noget andet  ;o)
Avatar billede brian-johansen Nybegynder
23. juli 2007 - 10:50 #34
Ja det kan du have ret i, har stadig ikke fundet en løsning, desværre
Avatar billede olebole Juniormester
23. juli 2007 - 13:30 #35
Løsningen, kalp gav dig, er ret skudsikker, så der må være nogle fejl somewhere. Hvor er til gengæld umuligt at sige uden at kunne se koden =)
Avatar billede brian-johansen Nybegynder
31. juli 2007 - 17:08 #36
Okay...  tak for det :D
Avatar billede kalp Novice
31. juli 2007 - 23:11 #37
D: ted rof kat ...yako

quick reverse.. hvad skete der lige der?

nevermind:D

selv tak;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester