18. september 2001 - 00:07Der er
27 kommentarer og 1 løsning
Baggrundsfarve på en tabel-celle
Ok gutter, jeg har en rigtig god en her:
Det jeg gerne vil lave/have er en knap/link man kan trykke på og så skal baggrundsfarven på en celle i en tabel skifte farve. Det skal lige siges at knappen/linket ikke må befinde sig i tabellen, og at det skal virke i både netscape og IE!!!
For at hjælpe lidt på forståelsen, og give gode ideer har jeg her et eksempel der måske kan hjælpe jer lidt mere end det hat hjulpet mig:
hmmm...den fungerer *ikke* i NS4...grunnen til det er at styles i NS4 er readonly, og man skal kode litt utenom det vanlige for å få det til å spille *helt* som man vil...
Legg merke til at jeg har lagt til height/width i <td> tagget og clip:rect(0,50,20,0); i <div> tagget. Pass på at width i <td> stemmer overens med det andre argumentet i rect() og at height i <td> stemmer overens med det tredje argumentet i rect()
<ole> nute >> Dine \'eval()\' er overflødige og det er en ret langsom funktion. Bare skriv: document.all[\"div\" + tdName].style.backgroundColor=color; Styles er ikke readonly i NS4.x, men <td> indgår - blandt mange andre elementer - ikke i den adresserbare del af DOM\'en...resultatet er det samme :) /mvh </bole>
olebole >> du har rett med hensyn til eval()...det begynte å bli relativt sent på natt etter en laaaaang dag, og mitt hode klarte ikke å tenke mer :-)
Apropos <td>...du har vel ikke tilfeldigvis en link til noe dokumentasjon om din påstand ? Ikke det at jeg ikke tror på deg (det gjør jeg i 99% av tilfellene =o) ), men for å selv finne ut av hvilke elementer jeg kan eller ikke kan adressere
/nute
Synes godt om
Slettet bruger
18. september 2001 - 11:57#12
Jeg er ikke sikker på denne her, men virker bgColor i HTML ikke i NS?
<script> function skiftFarve(farve,el) { document.el.bgColor = farve; } </script>
phoenixv >> leg olebole sitt innlegg @ 18/09 2001 02:59:03. Man kan ikke tilgå styles i et <td> tag på samme måte som i IE5+ og NS6. Derfor er man nødt til å legge et layer inn i hver tabellcelle som man skifter bakgrunnsfarge på
phoenixv >> Iøvrigt er \'bgColor\' ikke HTML...det er JavaScript :)
nute >> Du kan altid konkatinere en streng og en variabel, når du kalder i et array. Derfor er der ikke brug for \'eval()\', når man skal lave en dynamisk objekt reference. /mvh
olebole >> joda...*det* er jeg *fullstendig* klar over :-) det jeg spurte om (eller iallefall prøvde å spøøre om) var en eller annen dokumentasjon på *hvilke* elementer man kan adressere i NS. Med andre ord...du skriver:
\"Styles er ikke readonly i NS4.x, men <td> indgår - blandt mange andre elementer - ikke i den adresserbare del af DOM\'en\"
Jeg spør:
\"hvordan vet du dette ? HVor har du lest om dette ?\"
I princippet har du kun adgang til, hvad der ligger i \'layers\' array\'et. Det kommer lidt an på, hvad du vil tilgå dem til. Du kan f.eks. godt kalde et link med: document.links[0] Men jeg tvivler på, du kan style linket med CSS via JavaScript...har ikke en NS4 på denne maskine, så prøv selv :) Jeg har ikke noget online-doku på emnet...bruger i tvivlstilfælde \'The Rhino\' fra O\'Reilly :) /mvh
ahh...setningen \"I princippet har du kun adgang til, hvad der ligger i \'layers\' array\'et\" var nok \"dokumentasjon\" for meg. Det er da logisk nok :)
denne her:
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Untitled</title> <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\"> <!-- function changeStyle(){ document.ids.test.color = \'red\'; } //--> </SCRIPT> </head> <body> <a href=\"java script:void(null);\" id=\"test\">Test</a><br> <br> <a href=\"java script:void(changeStyle())\";\">change</a> </body> </html>
skulle vel i prinippet kunne fungere i NS. Merkelig nok så fungerer det ikke, men det genererer heller ingen feil :-| (noe den gjør i IE)
Nej, nute....hvad laver du nu? Det der skulle i princippet *netop* ikke fungere...noget sted :)
function changeStyle(){ document.links[\'test\'].color = \'red\'; }
Kunne i teorien have virket, men jeg tro kun, du kan få fat i: \'hash\', \'host\', \'hostname\', \'href\', \'pathname\', \'port\', \'search\', \'target\', \'text\', \'x\' og \'y\' på et link :) /mvh
nja...du har nok desverre korrekt. jeg kortsluttet litt. Meeen...grunnen til at jeg mente deg *kunne* går, var nettopp fordi \'document.ids\' returnerer et Style object.
kingmanon >> vi diskuterer bare noen generelle ting :-) Selve scriptet fungerer sånn som det står, men for at du skal kunne få utbytte av denne lille diskusjonen vi har hatt, så poster jeg den nye versjonen som skal fungere \"optimalt\":
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.