Onmouseover i .js fil ?

Tags:    programmering

Jeg har en kode som jeg skal bruge på en del billeder der ser sådan ud:
style="filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)" onmouseover="this.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=0)'" onmouseout="this.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)'"
Så vidt jeg ved er onmuoseover/out javascript.
Kan jeg putte det i en .js fil også bare linke til den på mine billeder ?
eller kan det skriver så det kommer i <script> </script> i <head> </head> ?
Mvh
christian



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
onmouseover/out er en binding til javascript fra et html element, ja!
:)

Om du smider et script i en fil eller ej betyder ikke det store, det du skal finde ud af
er helt præcist hvad du vil göre og hvordan det skal göres.

Er ideen at siden du nu gerne vil have denne script effect på stort set alle billeder,
så burde du kunne göre det en enkelt gang for alle, i stedet for at skulle gentage koden igen og igen?!?

Du kunne eventuelt give de billeder der skal have effekten et ID, samle alle IDérne sammen
og sætte en javascript function som handler for deres onmouseover/out event på en enkelt gang .. i et loop eller noget.
Det kan göres i en script block eller en js fil.

Måske vil du bare lave en function der hedder filterGray(objectHandle, grayscale) og så burde det se sådan her ud:
onmouseover="filterGray(this,0)"
onmouseout="filterGray(this,1)"

Dette kræver at du har en definition af filterGray() functionen, og den kunne du fx have i din <head> del .. eller i en .js fil.

Den ville se ud ca sådan her:

function filterGray(objectHandle,grayscale) {
objectHandle.style.filter =
'progid:DXImageTransform.Microsoft.BasicImage(grayscale='+grayscale+')';
}

På den måde kan du korte den koden du gentager ned til noget mindre.

Skriv hvis det ikke var det du mente, eller hvis det ikke funker helt og du ikke ved hvad der skal göres.

Jonatan[Redigeret d. 11/01-03 15:25:32 af Jonatan Hertel]



onmouseover/out er en binding til javascript fra et html element, ja!
:)

Om du smider et script i en fil eller ej betyder ikke det store, det du skal finde ud af
er helt præcist hvad du vil göre og hvordan det skal göres.

Er ideen at siden du nu gerne vil have denne script effect på stort set alle billeder,
så burde du kunne göre det en enkelt gang for alle, i stedet for at skulle gentage koden igen og igen?!?

Du kunne eventuelt give de billeder der skal have effekten et ID, samle alle IDérne sammen
og sætte en javascript function som handler for deres onmouseover/out event på en enkelt gang .. i et loop eller noget.
Det kan göres i en script block eller en js fil.

Måske vil du bare lave en function der hedder filterGray(objectHandle, grayscale) og så burde det se sådan her ud:
onmouseover="filterGray(this,0)"
onmouseout="filterGray(this,1)"

Dette kræver at du har en definition af filterGray() functionen, og den kunne du fx have i din <head> del .. eller i en .js fil.

Den ville se ud ca sådan her:

function filterGray(objectHandle,grayscale) {
objectHandle.style.filter =
'progid:DXImageTransform.Microsoft.BasicImage(grayscale='+grayscale+')';
}

På den måde kan du korte den koden du gentager ned til noget mindre.

Skriv hvis det ikke var det du mente, eller hvis det ikke funker helt og du ikke ved hvad der skal göres.

Jonatan[Redigeret d. 11/01-03 15:25:32 af Jonatan Hertel]

Det var præcis det jeg mente! :D
men lige før jeg giver ups så vil jeg lige vide om hvis man puttede det i en .js fil om man så kunne gøre det så det kom på alle billeder i en mappe ?
hvis man ikke kan for du ups alligevel
PS. jeg har skiftet navn fordi at jeg ikke kunne få kodeordet sendt :/
så jeg sender bare ups til dig hvis der ikke er nogen der svarer, hvis der er nogen der svarer (og man kan) får de ½ delen af upsnene...



t