/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Hentning af højde på div
Fra : René Lønstrup \(AKA ~


Dato : 07-04-01 15:53

Hej

Er det muligt, via Javascript, at få højden på en <div>? Altså ikke den, i
stylesheetet, definerede højde, men den reelle højde med indhold og alting.
Det skal helst fungere både i NN og IE.


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



 
 
René Lønstrup \(AKA ~ (07-04-2001)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 07-04-01 18:40

"René Lønstrup (AKA Rel7Star)" <7star@iname.com> wrote in message
news:9an9jl$203f$1@news.cybercity.dk...
> Er det muligt, via Javascript, at få højden på en <div>? Altså ikke den, i
> stylesheetet, definerede højde, men den reelle højde med indhold og
alting.
> Det skal helst fungere både i NN og IE.

Okay, jeg fandt ud af hvordan man gjorde det i IE:
<script>
var layerHeight = document.all["layernavn"].offsetHeight;
</script>

Men er der nogen der ved hvordan man gør i henholdsvis NN4 og NN6 ?


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



Allan Vebel (07-04-2001)
Kommentar
Fra : Allan Vebel


Dato : 07-04-01 23:15

René Lønstrup (AKA Rel7Star) <7star@iname.com> skrev>
> Okay, jeg fandt ud af hvordan man gjorde det i IE:
> <script>
> var layerHeight = document.all["layernavn"].offsetHeight;
> </script>
>
> Men er der nogen der ved hvordan man gør i henholdsvis NN4 og NN6 ?

Jeg tror ikke du kan gøre det i NN4 - her kan man ikke engang sætte højden
for en <div> med css.

For NN6 - prøv at lege lidt med
document.getElementById()

--
Allan



René Lønstrup \(AKA ~ (08-04-2001)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 08-04-01 08:55

"Allan Vebel" <allan@vebel.dk> wrote in message
news:_wMz6.382$7E6.8783@news.get2net.dk...
> > Men er der nogen der ved hvordan man gør i henholdsvis NN4 og NN6 ?
>
> Jeg tror ikke du kan gøre det i NN4 - her kan man ikke engang sætte højden
> for en <div> med css.

Skod!

> For NN6 - prøv at lege lidt med
> document.getElementById()

Jep. Havde jeg også gjort, endda meget :) - Men eén mulighed havde åbenbart
undveget min opmærksomhed, nemlig denne:
<script>
document.getElementById('layernavn').offsetHeight
</script>
En mærkværdig blanding af NN-kode og IE-kode (offsetHeight)..

Det virker bare ikke i Opera *suk*..........


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



René Lønstrup \(AKA ~ (08-04-2001)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 08-04-01 17:49

"René Lønstrup (AKA Rel7Star)" <7star@iname.com> wrote in message
news:9ap5fg$1dr6$1@news.cybercity.dk...
--- For Netscape 6 ---
> <script>
> document.getElementById('layernavn').offsetHeight
> </script>
> En mærkværdig blanding af NN-kode og IE-kode (offsetHeight)..
>
> Det virker bare ikke i Opera *suk*..........

Men det gør det her tilgengæld:

<script>
document.getElementById("layernavn").style.pixelHeight;
</script>
Hvilket selvfølgelig ikke fungerer i NN6... Nå, men nu mangler jeg da bare
at downloade/installere NN4 igen (var åbenbart forsvundet fra HD'en), og få
det til at virke i den (ja, jeg er stædig ).


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



Allan Vebel (09-04-2001)
Kommentar
Fra : Allan Vebel


Dato : 09-04-01 10:48

René Lønstrup (AKA Rel7Star) <7star@iname.com> skrev

> > Det virker bare ikke i Opera *suk*..........

Du kan tilgå de enkelte browsere ved at spøge dem om hvad de kan forstå:

function getHeight(){
if (document.all)
...gør dit
else if (document.layers)
...gør dat
else
...gør noget helt andet
}

> Nå, men nu mangler jeg da bare at downloade/installere
> NN4 igen (var åbenbart forsvundet fra HD'en), og få
> det til at virke i den (ja, jeg er stædig ).

Ja, stædighed er en god ting i denne branche.

NN4 findes på et utal af forside-cd'er fra computerbladene sidst i 90'erne,
hvor du sikkert kan dinde den.

--
Allan




René Lønstrup \(AKA ~ (09-04-2001)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 09-04-01 14:32

"Allan Vebel" <allan@vebel.dk> wrote in message
news:uAfA6.57$e81.1550@news.get2net.dk...
> Du kan tilgå de enkelte browsere ved at spøge dem om hvad de kan forstå:
>
> function getHeight(){
> if (document.all)
> ..gør dit
> else if (document.layers)
> ..gør dat
> else
> ..gør noget helt andet
> }

Ja, men hvad gør jeg med Opera? Den forstår jo både document.all (i IE mode,
hvor den forresten ikke forstår IE's metode til at hente højden) og
document.getElementById (i standard-compliant mode), men sidstnævnte forstår
Netscape jo også. Og da Netscape og Opera (af en eller anden grund) skal
bruge 2 forskellige metoder (som før skrevet), skal jeg helst også have
skilt dem ad.. Damn, det er irriterende med så mange browsere :)

> > Nå, men nu mangler jeg da bare at downloade/installere
> > NN4 igen (var åbenbart forsvundet fra HD'en), og få
> > det til at virke i den (ja, jeg er stædig ).
>
> Ja, stædighed er en god ting i denne branche.

Jep. Og det hjalp endda - Jeg fandt ud af at man kan hente højde på
<div>'en med:
<script>
document.layers["layernavn"].document.height
</script>


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



Allan Vebel (09-04-2001)
Kommentar
Fra : Allan Vebel


Dato : 09-04-01 15:25

René Lønstrup (AKA Rel7Star) <7star@iname.com> skrev

> Ja, men hvad gør jeg med Opera? Den forstår
> jo både document.all (i IE mode, hvor den forresten
> ikke forstår IE's metode til at hente højden) og
> document.getElementById (i standard-compliant mode),

Jamen, Opera går jo bare til det første den forstår - så er den vel ikke
længere

Det er faktisk ret nemt at lave avancerede browserspecifikke ting på den
måde.

> Damn, det er irriterende med så mange browsere :)

Vildt irriterende, men det bliver heldigvis bedre med årene. Det varer ikke
længe før vi slet ikke skal tage hensyn til NN4 mere.

--
Allan





René Lønstrup \(AKA ~ (09-04-2001)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 09-04-01 17:37

"Allan Vebel" <allan@vebel.dk> wrote in message
news:lRjA6.218$e81.4527@news.get2net.dk...
> Jamen, Opera går jo bare til det første den forstår - så er den vel ikke
> længere

Hvilket også var et problem, for jeg har mere kode med, som Opera godt
forstår, og som ikke skal køres igennem flere gange :)

Nå, men jeg fandt også ud af det med at skille Opera ud fra mængden ved at
bruge et lille script fra d.e.i.w.html-gruppen:

<script>
if (navigator.userAgent.toLowerCase().indexOf("opera") != -1) {
Opera specifik kode
}
else if (alle de andre)
</script>

Det virker dog kun hvis den får lov at stå forrest, så den ikke når at køre
alle de andres kode igennem inden

> > Damn, det er irriterende med så mange browsere :)
>
> Vildt irriterende, men det bliver heldigvis bedre med årene. Det varer
ikke
> længe før vi slet ikke skal tage hensyn til NN4 mere.

Jep. Har også tænkt på at droppe den, da den ikke rigtigt vil æde mit
stylesheet. Men jeg må nok hellere arbejde lidt på det, så jeg ikke ender
med en bunke utilfredse NN4-brugere ;)


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



Allan Vebel (09-04-2001)
Kommentar
Fra : Allan Vebel


Dato : 09-04-01 19:59

René Lønstrup (AKA Rel7Star) <7star@iname.com> skrev
> <script>
> if (navigator.userAgent.toLowerCase().indexOf("opera") != -1) {
> Opera specifik kode
> }
> else if (alle de andre)
> </script>

Jo, det er også en måde at gøre det på, hvis den ikke har "forklædt" sig som
noget andet

> Jep. Har også tænkt på at droppe den, da den
> ikke rigtigt vil æde mit stylesheet.

Den bedste løsning er at lave én style for NN4 og en anden for andre
browsere.

<link rel="stylesheet" type="text/css" href="nn.css">

<style type="text/css">
@import "ie.css";
</style>

> Men jeg må nok hellere arbejde lidt på det, så jeg
> ikke ender med en bunke utilfredse NN4-brugere ;)

Er browsere ikke gratis i dag?

--
Allan



René Lønstrup \(AKA ~ (09-04-2001)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 09-04-01 20:42

"Allan Vebel" <allan@vebel.dk> wrote in message
news:eFnA6.436$e81.7048@news.get2net.dk...

> > <script>
> > if (navigator.userAgent.toLowerCase().indexOf("opera") != -1) {
> > Opera specifik kode
> > }
> > else if (alle de andre)
> > </script>
>
> Jo, det er også en måde at gøre det på, hvis den ikke har "forklædt" sig
som
> noget andet

Jeg har testet det, og det fungerer selvom den forklæder sig som IE, Mozilla
eller Opera. Så det er jo rart

> <style type="text/css">
> @import "ie.css";
> </style>

Okay, den kendte jeg ikke..

> > Men jeg må nok hellere arbejde lidt på det, så jeg
> > ikke ender med en bunke utilfredse NN4-brugere ;)
>
> Er browsere ikke gratis i dag?

Jojo, men det er download-tid ikke (nå ja, for os modem-brugere, anyway).
Desuden er folk ikke særligt glade for at få fortalt hvad de skal bruge.
Mange vil helst selv bestemme, så det skal de da ha' lov til :)


--
René (AKA The Artist Currently Known As Rel7Star)
..... now with new url .... update bookmarks, please !
x===----> http://www.rel7star.dk <----===x



Allan Vebel (09-04-2001)
Kommentar
Fra : Allan Vebel


Dato : 09-04-01 22:23

René Lønstrup (AKA Rel7Star) <7star@iname.com> skrev>
> Jeg har testet det, og det fungerer selvom den
> forklæder sig som IE, Mozilla eller Opera. Så
> det er jo rart

Ret rart.

> > <style type="text/css">
> > @import "ie.css";
> > </style>
> Okay, den kendte jeg ikke..

Tricket går jo ud på at NN4 ikke kender @import - den bruger bare det den
forstår.

> > Er browsere ikke gratis i dag?
> Jojo, men det er download-tid ikke (nå ja, for os
> modem-brugere, anyway).

Man skal da også være lidt vild for at bruge tid på at hente en NN4 på
nettet - eller meget seriøs webdesigner der ikke vil over noget til
tilfældigheder. Jeg har faktisk IE3 og NN3 installeret på en gammel maskine
i mit netværk - men det er godt nok ikke hver dag jeg bruger det. Jeg har
dog været ude for kunder der har forlangt at det også kunne ses i disse
versioner, men det giver jo bare en lidt større regning<:o}

> Desuden er folk ikke særligt glade for at få fortalt
> hvad de skal bruge. Mange vil helst selv bestemme,
> så det skal de da ha' lov til :)

Jo, og NN4-brugere er da også vant til at få smidt noget underligt noget i
hovedet, fordi en stor procentdel laver det så det kun fungerer i IE.

--
Allan




Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste