Avatar billede mik Nybegynder
10. august 2005 - 15:40 Der er 15 kommentarer og
1 løsning

Formatering af tekst

Jeg har nedenstående funktion på en asp side.
<SCRIPT>
foer = null;

function highlight(lnk) {
if (foer)
foer.style.color = "#FFFFFF";
lnk.style.color = "#FFFF00";
foer = lnk;
}
</SCRIPT>

Funktionen gør at teksten på et hyperlink beholder en bestemt farve. Nu vil jeg også have den til at være fed. Hvorledes skal koden så se ud. Har prøvet med:

<SCRIPT>
foer = null;

function highlight(lnk) {
if (foer)
foer.style.color = "#FFFFFF";
foer.style.font = "normal";
lnk.style.color = "#FFFF00";
foer.style.font = "bold";

foer = lnk;
}
</SCRIPT>

Men det virker desværre ikke. Er der en der kan hjælpe her.
Avatar billede busschou Praktikant
10. august 2005 - 15:43 #1
Avatar billede busschou Praktikant
10. august 2005 - 15:44 #2
så det her burde virke
foer.style.fontWeight = "bold";
Avatar billede busschou Praktikant
10. august 2005 - 15:55 #3
jeg vil mene du kan får det til at virke sådan
Men jeg skal desværre smutte, så hvis det går helt galt
Så må du evt gå i javascript kategorien, da det jo egentlig er javascript ;o)
Avatar billede mik Nybegynder
10. august 2005 - 15:56 #4
Det er bare iorden, jeg checker det senere, men umiddelbart virker det ikke, men det haster ikke...
Avatar billede busschou Praktikant
11. august 2005 - 10:02 #5
Det var en værre en ;o)
Jeg har luret i din kode i dine gamle spørgsmål for at løse denne her
Der er flere ting som spiller ind
1)
når du skriver if(foer) og derefter ikke har krølle paranteser {} så udfører den kun den første linje efter if såfremt den er opfyldt, derfor når du tilføjer en ny linje som også skal udføres, ja så skal de begge ind i krøl paranteserne
2)
jeg kunne ikke få det til at virke først at den holder farven, det viser sig at dette kun lader sig gøre som du gør det fordi du åbner alle dine links i frames eller blank
3)
I din css kode har du allerede to steder stylet at de skal være med fed skrift, derfor kan man selvfølgelig ikke se forskel på "fed" og "fed" ;o)
---
Jeg har herunder rettet i den css kode som påvirker dine links så det virker i i hvert fald den kode herunder ! :o)
Men du må så se på hele din side og vurdere om det at der er fjernet fed skrift ødelægger noget andre steder
Og hvis du i virkeligheden mente det skulle være federe så retter vi din css tilbage og laver funktionen så den i stedet laver det endnu mere fedt :o)
---
<html>
<head>
<style type="text/css">
  .menumab {
    color: #FFFFFF;
    background-color: #3366FF;
    display: block;
    width: 100%;
    padding: 1px;
    font-family: Arial;
    font-size: 8pt;
    text-decoration: none;
  }
  A.menumab:hover{ 
    background-color: #99ACC8;
    color: #0000FF
  }
  A.menumab:active{ 
    text-decoration: underline;
    color: #FFFF00
  }
</style>
<script type="text/javascript">
  foer = null;

  function highlight(lnk) {
    if (foer){
      foer.style.color = "#FFFFFF";
      foer.style.fontWeight = "normal";
    }
    lnk.style.color = "#FFFF00";
    lnk.style.fontWeight = "bold";
    foer = lnk;
  }
</script>
</head>
<body>
<a class="menumab" href="http://www.eb.dk" onclick="highlight(this)" target="_Blank";>1</a>
<a class="menumab" href="http://www.tv2.dk" onclick="highlight(this)" target="_Blank";>2</a>
<a class="menumab" href="http://www.dr.dk" onclick="highlight(this)" target="_Blank">3</a>
</body>
</html>
Avatar billede busschou Praktikant
11. august 2005 - 10:04 #6
utroligt at det virker, kan se at det nederste er total galt, skal selvfølgelig være
---
<a class="menumab" href="http://www.eb.dk" onclick="highlight(this);" target="_Blank">1</a>
<a class="menumab" href="http://www.tv2.dk" onclick="highlight(this);" target="_Blank">2</a>
<a class="menumab" href="http://www.dr.dk" onclick="highlight(this);" target="_Blank">3</a>
Avatar billede mik Nybegynder
11. august 2005 - 11:54 #7
Det er lige før den er der. Men der er et lille men. Hvis jeg eks. ændre hover tekstfarven til ex. rød, er den rød første gang man flytter musen ind over teksten. Når man så flytter musen ind over teksten igen er den hvid (hvis det var standardfarven på linket) og ikke rød...
Avatar billede busschou Praktikant
11. august 2005 - 12:00 #8
prøv lige smid din kode med den røde farve for er ikke helt med :o)
Avatar billede mik Nybegynder
11. august 2005 - 12:10 #9
BODY.menumab
{
    BACKGROUND: #3366FF;
    MARGIN: 10px;
    MARGINS: 10px;
    scrollbar-face-color:#003366;
    scrollbar-highlight-color:#C0C0C0;
    scrollbar-3dlight-color:#FFFFFF;
    scrollbar-darkshadow-color:#000000;
    scrollbar-shadow-color:#808080;
    scrollbar-arrow-color:#FFFFFF;
    scrollbar-track-color:#3366FF;
}


.menumab {
    color: #FFFFFF;
    background-color: #3366FF;
    display: block;
    width: 100%;
    padding: 1px;
    font-family: Arial;
    font-size: 8pt;
    text-decoration: none;
  }
  A.menumab:hover{ 
    background-color: #99ACC8;
    color: #808080;
    font-size: 10pt;
  }
  A.menumab:active{ 
    color: #FFFF00:
  }

Som du kan se har jeg ændret tekststørrelsen. der er gjort for at teste at jeg lavede ændringerne det rigtige sted.
Avatar billede busschou Praktikant
11. august 2005 - 12:21 #10
øhh det er jo fordi du i dit javascript hver gang du har klikket på et nyt link sætter det gamles farve til at være hvid
Så du skal jo ændre det også ;o)
Avatar billede mik Nybegynder
11. august 2005 - 12:32 #11
Ok det er jem med på, vil det sige HOVER teksten bliver ændret i scriptet? Hvordan undgår man det?
Avatar billede busschou Praktikant
11. august 2005 - 12:40 #12
jeg har aldrig prøvet rette en hover før i javascript, men det her ser ud til at virke :o)
----
<html>
<head>
<style type="text/css">
  .menumab {
    color: #FFFFFF;
    background-color: #3366FF;
    display: block;
    width: 100%;
    padding: 1px;
    font-family: Arial;
    font-size: 8pt;
    text-decoration: none;
  }
  A.menumab:hover{
    background-color: #99ACC8;
    color: #FF00FF;
    font-size: 10pt;
  }
  A.menumab:active{
    color: #FFFF00:
  }
</style>
<script type="text/javascript">
  foer = null;

  function highlight(lnk) {
    if (foer){
      foer.style.color = "#FFFFFF";
      foer.style.hover.color = "#FF00FF";
      foer.style.fontWeight = "normal";
    }
    lnk.style.color = "#FFFF00";
    lnk.style.fontWeight = "bold";
    foer = lnk;
  }
</script>
</head>
<body>
<a class="menumab" href="http://www.eb.dk" onclick="highlight(this);" target="_Blank">1</a>
<a class="menumab" href="http://www.tv2.dk" onclick="highlight(this);" target="_Blank">2</a>
<a class="menumab" href="http://www.dr.dk" onclick="highlight(this);" target="_Blank">3</a>
</body>
</html>
Avatar billede mik Nybegynder
11. august 2005 - 13:42 #13
Det virker ikke efter hensigten. Det eneste jeg gør er at indsætte:
background-color: #99ACC8;
color: #FF00FF;
font-size: 10pt;

og

foer.style.hover.color = "#FF00FF";

i den eksisterende kode. Men det er ligesom at koden bliver nulstillet efter man har klikket på en tekst en gang.
Avatar billede busschou Praktikant
11. august 2005 - 13:49 #14
ok min fejl jeg fik ikke ryddet cachen
Det virker med den fede skrift alene
Men hvordan du sætter hover og active i javascript det ved jeg ikke
Du bliver nok nød til at spørge i javascript kategorien
Avatar billede mik Nybegynder
11. august 2005 - 13:56 #15
Okay det er bare iorden Busschou, du får point aligevel, idet jeg vil takke dig for at tage dig tid til at prøve. :-)
Avatar billede busschou Praktikant
11. august 2005 - 13:58 #16
ja beklager, men jeg kan ikke lige lure den med de hovere
Det er nok en god ide at vise javascript folkene koden fra 10:02:19 med rettelsen to minutter efter altså,
For så har de noget at gå ud fra uden at have hele din kæmpe menu :o)
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
Kurser inden for grundlæggende programmering

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