webForumDet fria alternativet

Ducumentets höjd?

11 svar · 217 visningar · startad av eas

easMedlem sedan sep. 2001274 inlägg
#1

Finns det nåt sätt att läsa av ett dokuments höjd?

Alltså inte höjden på fönstret utan på dokumentet, beroende på hur mycket som finns i det

:q

------------------
http://www.schondell.webb.se/

JojoxxMedlem sedan juni 20004 306 inlägg
#2
function getBodyHeight(){
	return document.height ? document.height : document.body.scrollHeight;
}

------------------
/ J

easMedlem sedan sep. 2001274 inlägg
#3

Jag använder den här koden för att försöka scrolla ett lager men det funkar inte

<script>
var scrollTim = 1 ;

function scroll(fart){

if (fart > 0){
	if (parseFloat(body.style.top) <= 10) { 
	
	body.style.top = parseFloat(body.style.top) + fart + "px";
	
	scrollTim = setTimeout("scroll("+fart+")",100)
	}
	
	else { noScroll() }
}

if (fart < 0){
	if (parseFloat(body.style.top) >= getBodyHeight()*(-1)) { 
	
	body.style.top = parseFloat(body.style.top) + fart + "px";
	
	scrollTim = setTimeout("scroll("+fart+")",100)
	}
	
	else { noScroll() }
}
	
}

function noScroll(){
	clearTimeout(scrollTim)
}

function getBodyHeight(){
return document.height ? document.height : document.body.scrollHeight;
}
</script>

Jag har också två knappar i <body> tillsammans med <div id=body>;

<span style="position:absolute; top:10px; right:10px; cursor:hand" onmouseover="scroll(10)" onmouseout="noScroll()"><img src="upp.gif"></span>
<span style="position:absolute; top:30px; right:10px; cursor:hand" onmouseover="scroll(-10)" onmouseout="noScroll()"><img src="ner.gif"></span>

<div id=body style="position:absolute; top:10px; left:10px">

Massa grejer i body!!!

text text

hej

hejdå

</div>

Jag måste också säga att det scrollar lite men det är alltit lika lite oavsett hur mycket som finns i <body>!

------------------
http://www.schondell.webb.se/

[Redigerat av eas den 30 sep 2001]

JojoxxMedlem sedan juni 20004 306 inlägg
#4

Jag har lite svårt att se vad du vill åstakomma med scriptet... Alltså, om du anropar functionen scroll med ett positivt värde (övre if-satsen) och lagrets position är mindre än eller lika med 10 så flyttas lagret fart pixlar nedåt.
Om scroll anropas med ett negativt värde (nedre if-satsen) och lagrets position är större än **-**bodyns höjd så flyttas lagret fart pixlar nedåt.

Detta betyder alltså att lagret kan flyttas (ungefär beroende på fart) mellan 800 pixlar övanför sidans topp och och 10 ner från sidans topp om vi tänker oss att bodyn är 800 pixlar hög.

Nu... vad ville du göra egentligen?

------------------
/ J

easMedlem sedan sep. 2001274 inlägg
#5

Det är så jag vill att det skall funka,
men det gör det inte.

Det scrollas lika mycket om body 200 som om body är 800! det är inte så bra!

Varför blir det så???

Documentet ligger i en iframe så om lagret flyttas uppåt eller neråt hamnar det utanför det synliga fältet och det ser ut som om det scrollar :o

------------------
Schöndells webbsajt

JojoxxMedlem sedan juni 20004 306 inlägg
#6

Ja... Jag har ju lite svårt att se hur långt upp den scollas. Om lagret ligger 200 pixelar utanför synligt område eller 800 pixlar utanför synligt område är lite svårt att avgöra :)

Som en liten parentes så saknar ditt script helt koll av webbläsare och vad denna stödjer. Kör du något annat än IE4-5 så funkar det inte.

Parentes 2: det är inte fönstrets/framens höjd du menar när du säger 200/800 pixel? bodyns höjd kan alltså vara mindre än fönstret.

------------------
/ J

easMedlem sedan sep. 2001274 inlägg
#7

Allt som ligger i <body> ligger i <div id=body>! alltså är documentet lika högt som lagret!
Om man flyttar lagret lika högt upp som documentet är högt så hamnar lagret precis ovanför kanten! Jag kanske lägger till typ -100 eller nåt när jag får det att funka.

Grejen är att den skall scrolla beroende av sidans höjd, vilket den inte gör. Lagret flyttas alltid lika mycket, oavsett hur mycket innehåll det finns!!!

Föresten vet du nåt annt bättre sätt att scrolla som stöds av fler webbläsare och som inte är alltför avanserat! (testat ett från dhtmlcentral men blev inte klok på det!)

:x :x :x :x :x :x

------------------
Schöndells webbsajt

JojoxxMedlem sedan juni 20004 306 inlägg
#8

Allt som ligger i <body> ligger i <div id=body>! alltså är documentet lika högt som lagret!

Det kan man tro, men så är det inte. Ett block som ligger absolute-positionerat ockuperar ingen plats i förälder-elementet (bodyn i detta fall).

Föresten vet du nåt annt bättre sätt att scrolla som stöds av fler webbläsare och som inte är alltför avanserat!

Du har väl tittat här?

------------------
/ J

easMedlem sedan sep. 2001274 inlägg
#9

Konstigt att absolute-grejerna inte räknas i documentets hojd ;)

Tack för tipset med till din sida med js-includes. jag ska kolla igenom funktionerna senare.

Ha det!

------------------
Schöndells webbsajt

JojoxxMedlem sedan juni 20004 306 inlägg
#10

Det är inte så konstigt. Ta som exemplet när du flyttar lagret ovanför sidans topp: sidan blir inte större för det (annars skulle ju scolllistan komma fram). Men visst kan det vara lite frustrerande när det inte blir som man vill :)

------------------
/ J

easMedlem sedan sep. 2001274 inlägg
#11

Scroll-listen lommer ju fram när man flytter ner ett lager :q

------------------
Schöndells webbsajt

JojoxxMedlem sedan juni 20004 306 inlägg
#12

Mmm... jag vet, men det ser jag mer som en bugg.

------------------
/ J

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb