OK.. mit problem er faktisk, at jeg ikke fatter hvordan jeg får en tabel til at strække sig til at være 100% i højden.
Hvis jeg laver en ydre tabel på 100% x 100% procent og centreret i denne laver en ny tabel på 780x210 og under denne igen en ny tabel på 780x100. Hvordan laver jeg så endnu en tabel på 780 x resten af skærmens højde uden at denne udvider den ydere tabel, sat til de 100% x 100% ?
Forstår godt du har problemer med det, men du kan se på følgende eksempel hvor jeg aflæser vindues-højden _mens_ dokumentet hentes ind på skærmen ...
Det 18, som står et sted er en tilpasning, som er fanget, ikke i den blå luft, men tæt på: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>Tabeller</TITLE> <style> table{ padding:0px; margin:0px;
Det ser altså ud til at kunne komme til at virke fint med dette script. Men er der noget i det, der styrer bredde? Syntes den skubber/udvider mine tabeller også.
Næh, der bliver ikke rørt ved bredderne andet end med table-widths (780px i det eksempel jeg lavede) -- men måske har du taget noget af min formattering med (padding, margin, cellspacing m.m.m. ?-)
Det ser dog ud til at man må gå nogle store omveje, for ingen af de egenskaber som umiddelbart er til rådighed synes at være tilstede/relevante ved en resize, så måske kan man fange noget med museposition på event-objektet (screenY og/eller clientY) -- men det vil jeg kigge på senere ...
Denne side: http://www.skybrud.dk/page.asp?id=6 har og bruger en perfekt onResize funktion. Prøv at formindsk/forstør browser vinduet, og se hvordan de opdaterer indhold efter vinduestørrelse.
Ved ikke om det er nedenstående script fra siden, der gør funktionen:
I hvert fald har dit lille script løst mit mainproblem. Men håber at onResize funktionen komme til at fungere også. Husk at post et svar :)
-- det er faktisk den kode som gør det -- den laver nemlig en reload, som jeg ikke vil anse som optimal, da det afhængig af dine browser-indstillinger og forbindelseshastighed kan give meget lange opdateringstider !-)
-- men jeg prøver lige at kigge på om jeg kan fange noget mouseY med onresize ...
Nu har jeg fundet en resize-metode, som dur i IE -- jeg vil prøve at se hvor meget der skal til at få Mozilla med, men det vender jeg tilbage med senere ...
Som udbygning af mit tidligere eksempel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>Tabeller</TITLE> <META NAME="Generator" CONTENT="Stone's WebWriter 3.5"> <script language="javascript" type="text/javascript"> var cY = "a"; var diff = 0; function beregnTd(e){ if(cY=="a"){ cY=e.clientY; diff = cY-tdh+1; } cY = e.clientY; tdh = cY - diff; //alert(tdh+" "+diff+" "+cY); if(tdh>0)document.getElementById('minTd').style.height=tdh+'px'; } </script> <style TYPE="text/css"> table{ padding:0px; margin:0px;
-- og så har jeg fået kigget på det, så det nu er testet i IE6 og Mozilla 1.5 -- jeg regner faktisk også med, at det vil virke i alle Mozillaer over 1, men det er ikke testet ,-)
Det virker fint IE, NS, Mozilla men ikke Opera - så længe vinduet TRÆKKES større eller mindre. Men hvis vinduet derimod pludselig maxsimeres, følger funktionen ikke med!
Det var det jeg mente var det smarte med Skybrud eksemplet, hvor den reloader, lige meget hvilken vindue forandring der foretages. Måske det dermed også vil være nemmere at få til at virke crossbrowser?
Har du nogen idé om hvorvidt det virker i IE til MAC som det er nu?
Det er rigtig godt på vej. Og helt sikkert en løsning jeg og andre vil kunne bruge til den her slags sitedesigns fremover.
Jamen vi kan da bare sætte en reload ind hvis det er Opera -- den understøtter sikkert ikke mouse-events på samme måde som IE, men sikkert andre properties på samme måde ...
Et bud kunne være (men jeg kender ikke Operas userAgent-streng:
-- og med hensyn til at bruge maksimerings-funktionen kan vi sikkert sagtens fange den hvis det er en mouse-event, men hvordan den skulle fanges på [alt]+[mellemrum],m kan jeg ikke gennemskue ...
Jeg bruger normalt denne: (navigator.userAgent.indexOf('Opera')!=-1)?true:false; til indexsering af Opera.
.. men det virker fint nu med reload funktionen for Opera. Perfekt. Kunne denne reloadfunktion ikke også gælde de øvrige browsere, hvis browservinduet maksimeres/minimeres ved et mouse-event. Drop det med tasteturgenvej. Det er helt lige meget.
Ideen er blot, at mange brugere ofte surfer med browservinduet i en eller anden tilfældig størrelse. Men skulle de få lyst til at blæse vinduet helt op, da skulle din scriptfunktion gerne ligeledes her beregne den nye højde.
Kunne det også være muligt her: var tdh = bh - 293;
at lave et browsercheck for om det er IE, MS, Mozilla, Opera, etc. Problemet er nemlig at værdien 293 ser ud til at være en anden for NS og Mozilla end det er for IE og Opera. I hvert fald hvis det skal passe helt 100%
-- men jeg læste lige teksten om dette grundigt i min javascript bible, og der var udsagnet, at der ikke skulle være forskelle ift. mouse-events i dette tilfælde og clientHeight skulle være det samme omend selve chromen skulle være anderledes, så måske skal der et ekstra check ind for Mac til den basale indstilling !-)
Yep! det var netop det jeg mente. Men hvis jeg Acceptere dit svar nu.. må jeg så senere poste et ekstra lille råb om hjælp her... hvis det altså blir nødvendigt i forbindelse med MAC testen?
Lige en lille ting. Hvis jeg på en 1024x768 px. skærmopløning har et browservindue åbent på ca. 800x600 px. Hvordan kan det så være at jeg i et 'glimt' ser en synlig grå tabelborder for den ydre tabel, idet jeg klikker 'maksimer' ikonet i selve browservinduet? Hvad gør at den i IE (og kun den) tilsyneladene pludselig blir synlig? Det ser ikke godt ud.
Den har jeg kun set i forbindelse med reloaden -- at der kan være et øjebliks forsinkelse på, at visse dele af koden bliver loadet, så browseren når at fortolke længere end godt er ?-)
Hmm.. men det er jo også i forbindelse med IE reloaderen, idet jeg jo maksimere vinduet. Ingen problemer i de andre browsere. Hmmm... gak! Bare mærkeligt at tableborder lige frem blir synlig, da den er sat til "0" ..
Tror at det er baggrunden, men kan ikke siger det sikkert !-)
Synes godt om
Ny brugerNybegynder
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.