Avatar billede tdaugaard Nybegynder
18. januar 2001 - 11:44 Der er 31 kommentarer og
1 løsning

ja ser du ..hvordan ændrer jeg a:hover via JavaScript, og BODY for den sags skyld ?

Som titlen siger.
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 11:45 #1
Nu snakker jeg CSS ... altså hvordan jeg ændrer værdien af A:HOVER (stylen...) eller i det hele taget link farver og body text farve.
Avatar billede vandhunden Nybegynder
18. januar 2001 - 12:00 #2
For hele dukumentet eller for et layer eller bare et bestemt link eller hvad?
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 12:03 #3
For hele dokumentet ...
Avatar billede limemedia Nybegynder
18. januar 2001 - 13:01 #4
http://home.sprynet.com/~roywhittle/gng/demo/ns_hover/index.html ?

Kig i sovsen, der er vist noget du kan bruge... Prøv det ! :D


/ Lars
Avatar billede vandhunden Nybegynder
18. januar 2001 - 18:03 #5
index.htm
=========

<html>
<head>
<title>Tdaugaard</title>
<link rel=stylesheet href=\"style1.css\">
<script>
function newstyle() {
document.styleSheets(0).href = \"style2.css\";
}
</script>
</head>

<body>
Dette er et eksempel på hvordan man kan skifte en css-fil ud med en anden.<br><br>
<a href=\"#\" onclick=\"newstyle();\">Skift</a>

</body>
</html>

--->skal hedde \"style1.css\" :
=============================
body, div, td    {font-family:verdana; font-size:19px; color:black;}
A        {color:black;}
A:visited    {color:gray;}
A:hover        {color:orange;}

--->skal hedde \"style2.css\" :
=============================
body, div, td    {font-family:verdana; font-size:12px; color:red;}
A        {text-decoration:none; color:brown;}
A:visited    {text-decoration:none; color:lightgreen;}
A:hover        {text-decoration:none; color:orange;}

De tre filer skal ligge i samme mappe. Dette skulle nok kunne løse dit problem. -Og så kan det tilmed modificeres på mange måder.

/Andreas
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 18:05 #6
vandhunden:> desværre løser det ikke problemet da den farve jeg skal skifte til ligger defineret i et JavaScript :-(
Avatar billede vandhunden Nybegynder
18. januar 2001 - 18:24 #7
Er det det her du vil:

Al tekst i dokumentet skal ved din komando laves om til en farve du på forhånd har bestemt?

Ikke noget med links? hover?
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 18:28 #8
vandhunden:> nej, ikke helt.

Alle links i dokumentet skal ved min kommado skifte farve, til en farve som ligger i en variabel i JavaScript.
Avatar billede vandhunden Nybegynder
18. januar 2001 - 20:43 #9
Forstået. Er det kun selve linkfarven eller er det også hover, active og visited?
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 23:22 #10
alle 4 hvis det kan lade sig gøre. Men selve linkfarven er det vigtigste..
Avatar billede vandhunden Nybegynder
19. januar 2001 - 11:50 #11
Det tror jeg godt man kan. Jeg strikker lige noget sammen når jeg kommer hjem.
Avatar billede tdaugaard Nybegynder
19. januar 2001 - 14:12 #12
vandhunden:> u r da man! (hvis du kan lave det *G*)
Jeg er lidt gavmild i dag så jeg smider lige (100-38) point mere på :o)..
Avatar billede vandhunden Nybegynder
19. januar 2001 - 14:38 #13
<HTML>
<HEAD>
<SCRIPT LANGUAGE=\"JScript\">
function newRule() {
    document.styleSheets.MyStyles.addRule(\"A.nystil\",\"color:orange\");
    document.styleSheets.MyStyles.addRule(\"A.nystil:visited\",\"color:orange\");
    document.styleSheets.MyStyles.addRule(\"A.nystil:active\",\"color:orange\");
    document.styleSheets.MyStyles.addRule(\"A.nystil:hover\",\"color:red\");
}
</SCRIPT>
<STYLE ID=\"MyStyles\">
A.nystil {color:black;}
A.nystil:visited {color:black;}
A.nystil:active {color:black;}
A.nystil:hover {color:slategray;}
</STYLE>
</HEAD>
<BODY>

Dette dokument benytter stylesheets. Dette er en tekst og den vil ikke
blive ændret. Kun links med Class=\"nystil\" vil være affected.<br><br>
<a class=\"nystil\" href=\"#\">Heppa, dette er et link.</a><br><br>
<a href=\"#\" onclick=\"newRule()\">Test</a>

</BODY>
</HTML>
Avatar billede vandhunden Nybegynder
19. januar 2001 - 14:41 #14
Jeg regner med at du selv kan finde ud at skifte \"color:orange\" i addRule ud med \"color:\" & dinfarve.

Jeg håber det kan bruges.
Avatar billede jakoba Nybegynder
20. januar 2001 - 10:37 #15
Jeg tror det er denne artikel du leder efter:
http://www.jsworld.com/dhtml/how-to/style/

mvh JakobA
Avatar billede vandhunden Nybegynder
20. januar 2001 - 11:03 #16
Jakoba > Hvor smart er det? Hvis det er linien, test.style.fontSize=12 du tænker på så ændrer den jo kun style for et enkelt element og der er ingen mulighed for at ændre på selve stylesheetet, dvs ingen mulighed for at ændre active, visited og hover.
Avatar billede vandhunden Nybegynder
20. januar 2001 - 11:04 #17
Undskyld hvis det lød lidt hoverende.
Avatar billede jakoba Nybegynder
20. januar 2001 - 12:51 #18
vandhunden >> Det er ok. Jeg ved jeg er nybegynder mht D\'et i DHTML. (det er derfor jeg lægger en linie ind i spøgsmål som dette, så jeg kan lytte med på de mere fornuftige svar :-))
Avatar billede tdaugaard Nybegynder
20. januar 2001 - 13:29 #19
vandhunden:> sorry jeg først kommenterer nu, men jeg havde glemt spm.\'et :-(
Det ser godt ud, og af hvad jeg hører virker det også.

Jeg tester det lidt senere i dag.
Avatar billede tdaugaard Nybegynder
20. januar 2001 - 13:30 #20
*suk* (jeg tager sorgerne på forskud) meen virker det i NS ?
Avatar billede vandhunden Nybegynder
20. januar 2001 - 19:33 #21
tdaugaard > Hvem har du da hørt fra at det virker?

Mht. NS: Jeg er ikke helt klar over om det virker i Netscape, men hvis ikke det gør så skal jeg i hvertfald nok få det til det. Jeg kigger lige på det.
Avatar billede vandhunden Nybegynder
20. januar 2001 - 21:26 #22
Noap, det virker hverken i NS6 eller NS4. Men måske kan jeg ordne det. Jeg arbejder på sagen.
Avatar billede vandhunden Nybegynder
21. januar 2001 - 00:55 #23
Jakoba > Måske kan du finde ud af det her:
http://www.eksperten.dk/spm/44854
Avatar billede tdaugaard Nybegynder
21. januar 2001 - 03:37 #24
vandhunden:> det skal HELST virker i mindst v4.0 browsere.. (IE virker det jo fra 4.0-5.5, men  NS .. bare ver 4.0 så er den fjong!)
Avatar billede vandhunden Nybegynder
21. januar 2001 - 13:53 #25
Ja, jeg arbejder på det. Men jeg blev nødt til selv at oprette et spm. Det er det link der står ovenfor.
Avatar billede tdaugaard Nybegynder
23. januar 2001 - 13:10 #26
vandhunden:> *S*
Avatar billede tdaugaard Nybegynder
23. januar 2001 - 13:22 #27
vandhunden:> mht. til dit \"Fortsat svar fra vandhunden 19/01 2001 14:38:54\"; hvordan kringler jeg den med ID\'et når mit stylesheet er i en fil som bliver linket til dokumentet vha. <link rel=\"stylesheet\" type=\"text/css\" href=\"general.css\"> ? forøvrigt skal dette gøres fra en frame i en anden frame..

parent.indhold.content.document.styleSheets.stsheet.addRule(\"A\",\"color:orange\");

har jeg prøvet (med stsheet som ID på mit <link> tag) men det funker minus.
Avatar billede vandhunden Nybegynder
23. januar 2001 - 16:40 #28
Jeg er ikke sikker på at de to stylesheets behøver at have noget med hinanden at gøre. Hvad med om du laver en \"style\" i dit \"sheet\" som hedder nystil. Så laver du en tom stylesheet på siden sådan her:

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

<STYLE ID=\"MyStyles\">
</STYLE>

Dvs. At det der før stod inde i den nu står i din css-fil.

Mon så ikke det virker? Jeg tjekker det lige senere. Det der med at gøre det fra en anden frame, det ved jeg desværre ikke noget om.
Avatar billede vandhunden Nybegynder
23. januar 2001 - 16:41 #29
parent.indhold.content.document.styleSheets.stsheet.addRule(\"A\",\"color:orange\");

Hvad betyder \"indhold\"? Og er \"stsheet\" navnet på mit stylesheet?
Avatar billede vandhunden Nybegynder
23. januar 2001 - 17:58 #30
Ok, det virker fint. Du kan gøre sådan her:

<HTML>
<HEAD>
<SCRIPT>

function init() {
ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
if (ie4) Minstil = document.styleSheets.MyStyles;
if (ns4) Minstil = document.MyStyles.style;
}

function newRule() {
    Minstil.addRule(\"A.nystil\",\"color:orange\");
    Minstil.addRule(\"A.nystil:visited\",\"color:orange\");
    Minstil.addRule(\"A.nystil:active\",\"color:orange\");
    Minstil.addRule(\"A.nystil:hover\",\"color:orange\");
}

</SCRIPT>
<link rel=stylesheet href=\"black.css\">
<STYLE ID=\"MyStyles\">
</STYLE>
</HEAD>
<BODY onload=\"init()\">
<span class=\"tekst\">
Dette dokument benytter stylesheets. Dette er en tekst og den vil ikke
blive ændret. Kun links med Class=\"nystil\" vil være affected.</span><br><br>
<a class=\"nystil\" href=\"#\">Heppa, dette er et link.</a><br><br>
<a href=\"#\" onclick=\"newRule()\">Test</a>

</BODY>
</HTML>

....meeen. Der skal stadig laves noget om i den her for at det virker i netscape:
if (ns4) Minstil = document.MyStyles.style;

/Andreas
Avatar billede vandhunden Nybegynder
23. januar 2001 - 18:00 #31
black.css ser således ud:
*****************************

A.nystil, A.nystil:visited, A.nystil:active, A.nystil:hover {color:red;}

*****************************

Men den kan sagtens indeholde dine egne sheets også. De forskellige noget.nystil kan self også skilles ad hvis de ikke allesammen skal være røde.
Avatar billede tdaugaard Nybegynder
24. januar 2001 - 13:55 #32
vandhunden:>

parent.indhold.content.document.styleSheets.stsheet.addRule(\"A\",\"color:orange\");

parent = en anden frame.
indhold = den første frame
content = en frame i indhold

og

\"stsheet\" er navnet på mit stylesheet.

jeg prøver det nok i morgen. Men du får point nu .. hvis der er mere opretter jeg bare et nyt spm.

Mange tak!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester