webForumDet fria alternativet

MinMax fråga

6 svar · 299 visningar · startad av haider

haiderMedlem sedan jan. 2003988 inlägg
#1

Hej

Jag har en TD med ett ID, som jag via GetElementsByID...width vill ändra bredden på, beroende på dokumentets bredd inne i IE, men den får inte vara mindre än 370 px

Jag får inte rätt på hur man ska skriva, jag fick det att funka i ett annat sammanhang, med höjd.

Tack i förhand

dectgapMedlem sedan sep. 20021 542 inlägg
#2
obj.style.width = Math.max(370, dokumentetsBredd) + "px";

EDIT
Ändrade från min till max.

Erik JuhlinMedlem sedan maj 20007 625 inlägg
#3

dectgap skrev:

obj.style.width = Math.min(370, dokumentetsBredd) + "px";

Umm, snarare:

obj.style.width = Math.max(370, dokumentetsBredd) + "px";

Han vill ju så att det aldrig blir mindre än 370, inte tvärtom...

dectgapMedlem sedan sep. 20021 542 inlägg
#4

Erik Juhlin skrev:

Umm, snarare:

obj.style.width = Math.max(370, dokumentetsBredd) + "px";

Han vill ju så att det aldrig blir mindre än 370, inte tvärtom...

Ja, precis :r

haiderMedlem sedan jan. 2003988 inlägg
#5

Tack Erik

Men hur räknar man ut dokumentets bredd? Räcker det med document.width eller document.body.scrollwidth eller nåt?

Koden ser ändå lite annorlunda ut än jag väntade mig.
Så tänkte jag skriva typ

window.onload=ifixer;
function ifixer() {
parent.document.getElementById("Contence").width= [b][i]här kommer din math.max rad hade jag tänkt mig, men hur beräknar man dokumentets bredd automatiskt, beroende på hur man skalar IE i bredden?)[/i][/b]
}

Eftersom det är tal om ett ID för att specifiera exakt vad som ska skalas, så bör jag väl använda getElement... ?

EDIT:
Eller förresten, det rör sig om bredden på en enda <TD>, så jag behöver kanske inte krångla till det med extern JS-fil och id.

Hur kan jag bara klämma in er lilla kodsnutt, så att den räknar ut bredden (plus automatiskt uträkning av dokumentets totala bredd obs)
Och blir det i realtid?

dectgapMedlem sedan sep. 20021 542 inlägg
#6

Du kan skriva så här:

<style type="text/css">
#specialare {
   background: red;
   min-width: 360px;
   width: expression(Math.max(360,document.body.clientWidth)+"px");
}
</style>

Det är inget standardiserat sätt att skriva, men det fungerar bra i IE.

haiderMedlem sedan jan. 2003988 inlägg
#7

Jag ska prova på den här metoden.

Men hur illa kommer det att se ut i en annan explorer än IE?
Ska jag ta bort width i TD taggen då, eller ska jag behålla den utifall nåt som inte är IE vill visa sidan?

EDIT: Det funkade jättebra, men jag upptäckte en sak.
Eftersom man aldrig kan tvinga en TD att bibehålla en min-bredd, ex genom att man skalar IE fönstret, så löste jag detta med den klassiska metoden, att stoppa in en bild med en bredd som TDn inte får understiga.

MEN, nu återstår en lösning som är enklare, och som är kompatibel med explorers utöver IE.

Kan man använda "obj.style.width" eller kanske "expression(document.body.clientWidth)" på nåt sätt interaktivt och i direkt samband med bredden?

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