Avatar billede Slettet bruger
01. august 2001 - 10:30 Der er 28 kommentarer og
1 løsning

CSS i javascript funktion

Jeg har disse to funktioner hvor jeg gerne vil tilknytte en css style istedet for den angivet baggrungsfarve.

function rulOver(){
pede = window.event.srcElement;
if (pede.tagName.toUpperCase() == \'TABLE\')
    return;
while (pede.tagName.toUpperCase() !=\'TR\')
    pede = pede.parentElement;
pede.style.background = \"#eeeeee\";
}

function rulUd(){
    pede = window.event.srcElement;
    if (pede.tagName.toUpperCase() == \'TABLE\')
        return;
    while (pede.tagName.toUpperCase() !=\'TR\')
        pede = pede.parentElement;
    pede.style.background =\"#ffffff\";
}
Avatar billede nikolajdu Nybegynder
01. august 2001 - 10:33 #1
Style på hvad???
Avatar billede nikolajdu Nybegynder
01. august 2001 - 10:33 #2
Altså på hvilken type element vil d ændre din style?
Avatar billede Slettet bruger
01. august 2001 - 10:51 #3
Dette her skal sættes lig med en style
pede.style.background = \"#eeeeee\";
skal være noget ala
pede.style.background = \"cssTableColor\";

<style>
.cssTableColor{
backgroung-color: red;
}
</style>
Avatar billede roenving Novice
01. august 2001 - 11:02 #4
pede.style.className = \"cssTableColor\";
Avatar billede Slettet bruger
01. august 2001 - 11:17 #5
Der er da ikke noget der hedder className  i javascript.
Avatar billede nikolajdu Nybegynder
01. august 2001 - 11:30 #6
I IE jo, men Ikke i Netscape.

Du kan skifte f.eks således:

<a href=\"#\" onMouseover=\"this.className=\'cssTableColor1\'\">

Din funktion vil så blive til:

pede.className=\'cssTableColor1\'
Avatar billede Slettet bruger
01. august 2001 - 11:42 #7
Så burde funktioneerne ser således ud:

function rulOver(){
pede = window.event.srcElement;
if (pede.tagName.toUpperCase() == \'TABLE\')
    return;
while (pede.tagName.toUpperCase() !=\'TR\')
    pede = pede.parentElement;
pede.style.className  = \"strTRalternateColor\";
}

function rulUd(){
    pede = window.event.srcElement;
    if (pede.tagName.toUpperCase() == \'TABLE\')
        return;
    while (pede.tagName.toUpperCase() !=\'TR\')
        pede = pede.parentElement;
    pede.style.className  = \"strTR\";
}

og

kaldet af dem sådan her

onmouseover=\"\"rulOver(\'this.className=\'strTRalternateColor\');\"\" onmouseout=\"\"rulUd(\'this.className=\'strTR\');\"\"

med det virker bare ikke, hmmm
Avatar billede jakoba Nybegynder
01. august 2001 - 11:50 #8
prøv at lave:
    pede.style.className  = \"strTR\";
om til:
    pede.className  = \"strTR\";
begge steder
( som i nikolajdu 01/08 2001 11:30:15)

mvh JakobA
Avatar billede nikolajdu Nybegynder
01. august 2001 - 11:51 #9
pede.className=\"strTRalternateColor\"
Avatar billede olebole Juniormester
01. august 2001 - 13:54 #10
<ole>
At skifte klasse dynamisk er en meget resource krævende operation. Hvis ikke der er tale om mange ting, der skal ændres - kan det bedre betale sig at ændre de enkelte ting, f.eks: baggrundsfarve, font-størrelse og farve osv.
Det vil i mange tilfælde forbedre performance betydeligt.
/mvh
</bole>
Avatar billede Slettet bruger
01. august 2001 - 14:03 #11
Ja det er nok rigtigt, det ser heller ikke ud til at virke
Avatar billede olebole Juniormester
01. august 2001 - 14:23 #12
Hmmmmm.....ja, det er det - men nikolajdu\'s og jakoba\'s svar er nu også rigtige nok...omend langsommere at afvikle.
Det kunne også hænge sammen med, at du bruger TO dobbelte gåseøjne rundt om dine dit kald....jvf:  Kommentar fra kongebro  01/08 2001 11:42:14.
/mvh
Avatar billede Slettet bruger
01. august 2001 - 14:28 #13
det er fordi det kører i en response.write på en asp side
Avatar billede olebole Juniormester
01. august 2001 - 14:37 #14
Det er fløjtende ligegyldigt, hvorfor de er der...det er forkert og kan ikke virke! Der må kun være ét sæt!
/mvh
Avatar billede nikolajdu Nybegynder
01. august 2001 - 14:39 #15
Ole er ude med kødhammeren her *ggg*

Avatar billede roenving Novice
01. august 2001 - 14:40 #16
Jamen ...

onmouseover=\"\"rulOver(\'this.className=\'strTRalternateColor\');\"\" onmouseout=\"\"rulUd(\'this.className=\'strTR\');\"\"

er da helt galt !

rulOver(\'this.className=\'strTRalternateColor\') kan da aldrig fortolkes korrekt af javascript !~[

Der må du bruge nogen escape-tegn:

onmouseover=\"\"rulOver(\'this.className=\\\'strTRalternateColor\\\'\');\"\" onmouseout=\"\"rulUd(\'this.className=\\\'strTR\\\'\');\"\"
Avatar billede roenving Novice
01. august 2001 - 14:41 #17
-- og så måske, som olebole siger, kun med enkelte gnyffer !~}
Avatar billede nikolajdu Nybegynder
01. august 2001 - 14:46 #18
Der mangler ihvertilfald én \'.

\'this.className=\'strTRalternateColor\'
Avatar billede olebole Juniormester
01. august 2001 - 14:49 #19
roenving >> Nej....sådan:
  onmouseover=\"rulOver(this.className=strTRalternateColor);\" onmouseout=\"rulUd(this.className=strTR);\"

nikolajdu >> Du kender mig da godt nok til at vide, dette blot er et faderligt klap på kinden. Fars kødhammer ser HEEEEEELT anderledes ud  *ROTFLMAO*
/mvh
Avatar billede nikolajdu Nybegynder
01. august 2001 - 14:52 #20
Ole - Jeg kunne bare ikke finde samme sexy ordvalg frem som dig, men jo jeg er bare vild med med dine faderlige klask... ;-)
Avatar billede olebole Juniormester
01. august 2001 - 14:52 #21
Rettelse......bare:
    onmouseover=\"rulOver();\" onmouseout=\"rulUd();\"
Det hele er jo defineret i funktionen    =o))

Havde det ikke været det, skulle der ikke gryffer om referencen: this.className. Heller ikke om strTRalternateColor - dersom den er defineret som en variabel.
/mvh
Avatar billede roenving Novice
01. august 2001 - 14:55 #22
Nåeh ...

>>>olebole

strTRalternateColor er jo netop en tekstkonstant, såeh ...
Avatar billede Slettet bruger
01. august 2001 - 15:15 #23
For fanden så virker det sgu.
Avatar billede olebole Juniormester
01. august 2001 - 15:47 #24
Nikolaj >> http://www.eksperten.dk/spm/94170  =o)
/mvh
Avatar billede Slettet bruger
01. august 2001 - 16:03 #25
Det var pænt af dig olebole
Avatar billede olebole Juniormester
01. august 2001 - 16:16 #26
DAMNED.....så havde jeg zq aldrig gjort det...!    *LooOooL*  ;o)
/mvh
Avatar billede roenving Novice
01. august 2001 - 16:19 #27
Nej, se ...

der kvajede du dig igen

-- og du kommer garanteret til at savne de points lige om et øjeblik

*GG*
Avatar billede olebole Juniormester
01. august 2001 - 17:33 #28
Jeg gjorde det også KUN, fordi nikolajdu kaldte mine ord \'sexy\'!
Jeg falder ikke for smiger.......................jeg LEVER for det...!      =oD
/mvh
Avatar billede nikolajdu Nybegynder
01. august 2001 - 19:20 #29
SE det er altid godt at smøre lidt på Ole´s møllehjul... ;-)
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

IT-JOB