Avatar billede dorgbar Nybegynder
21. august 2004 - 12:50 Der er 10 kommentarer og
1 løsning

gemme "this." i en funktion i en onEvent

jeg har det stykke kode.
onMouseover="this.filters.alpha.opacity=100;" onMouseout="this.filters.alpha.opacity=75;"

jeg vil gerne have det bliver:
onMouseover="opaover();" onMouseout="opaout();

problemmet er at når jeg tidligere laver fun tionen ved jeg ikke hvordan jeg fortæller funtionen at det er det tag den blev kaldt fra som den skal lave om.
så er det muligt at lave noget alla;
onMouseover="opaover(this);" onMouseout="opaout(this);?
Avatar billede mik789 Nybegynder
21. august 2004 - 13:16 #1
function opaover(elm){
elm.filters.alpha.opacity=100;
}

function opaout(elm){
elm.filters.alpha.opacity=75;
}


onmouseover="opaover(this);" onmouseout="opaut(this);"
Avatar billede dorgbar Nybegynder
21. august 2004 - 13:27 #2
ok du må godt oprette et svar :]
men kan du oversætte
-moz-opacity: .75;
fra css til java, eller fortælle hvor man kan det evt.?
Avatar billede mik789 Nybegynder
21. august 2004 - 13:56 #3
function opaover(elm){
elm.filters.alpha.opacity=100;
elm.MozOpacity=1;
}

function opaout(elm){
elm.filters.alpha.opacity=75;
elm.MozOpacity=0.75;
}

Hvis der er problemer med at få accepteret dine -moz-opacity værdier, så prøv at sætte dem i anførselstegn, altså f.eks. elm.MozOpacity='0.75';

"oversættelsesreglen" fra CSS til JavaScript er den, at bindestreg i CSS bliver til stort bogstav i JavaScript. Altså f.eks.:

CSS: backgrounc
JS: background [ingen forskel]

CSS: background-color
JS: backgroundColor

CSS -moz-opacity
JS: MozOpacity
Avatar billede mik789 Nybegynder
21. august 2004 - 13:57 #4
og hvis det dur, så værsgo' ;-)
Avatar billede mik789 Nybegynder
21. august 2004 - 14:03 #5
hov, for resten, denne linje:

elm.MozOpacity=0.75;

skal rettes til:

elm.style.MozOpacity=0.75;

- og tilsvarende i opaover funktionen
Avatar billede dorgbar Nybegynder
21. august 2004 - 14:06 #6
tak :]
Avatar billede dorgbar Nybegynder
21. august 2004 - 14:25 #7
"oversættelsesreglen" fra CSS til JavaScript er den, at bindestreg i CSS bliver til stort bogstav i JavaScript. <-- er det alt? og hvorfor og hvornår skal style ind?
hvis vi f.eks tager opacity: 0.75; så bliver det til style.opacity='.75' ?
Avatar billede mik789 Nybegynder
21. august 2004 - 14:46 #8
nej, opacity fungerer slet ikke i CSS, idet filters.alpha.opacity ikke en CSS ting, men noget rent Microsoft DHTML, dvs. du kan slet ikke bruge det i CSS.

style skal ind fordi det er en egenskab af elementet. Eks.: du har en <div>. I html kan du f.eks. have:

<div id="mindiv" style="background-color:#ccc;">blabla</div>

Det vil i et eksternt stylesheet være:

#mindiv {
  background-color: #ccc;
}

Dvs. background-color er en egenskab af style som er en egenskab af dit div element. Derfor i java script:

elm.style.backgroundColor hvor elm bare er en variabell der står for et givet element, f.eks. dit div element, som du referer til som document.getElementById("mindiv")
Samlet kan du derfor du derfor referere til dit elements baggrundsfarve uden for det som:
document.getElementById("mindiv").style.backgroundColor

og indefra (i tag'et) som this.style.backgroundColor
Avatar billede mik789 Nybegynder
21. august 2004 - 14:47 #9
Avatar billede dorgbar Nybegynder
21. august 2004 - 18:44 #10
ok mange tak for hjælpen giver dig lige 50 point mere :]
Avatar billede dorgbar Nybegynder
21. august 2004 - 18:47 #11
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