Avatar billede tue Nybegynder
28. august 2001 - 12:59 Der er 10 kommentarer og
1 løsning

if image loaded...

Jeg har en mouseover effekt. Denne mouseover billede er en mindre animation. Mit problem er at når man har aktiveret mouseover effekten og aktivere den igen, så bliver animationen gentaget.

Mit spørgsmål ligger så i om det er muligt at lave en funktion der kan tjekke om billedet at aktivt, og derfor ikke skrift billedet?

Håber i forstår hvad jeg mener.

På forhånd tak.

Mvh.
Tue Sandal
tue@qcom.dk
Avatar billede nute Nybegynder
28. august 2001 - 13:05 #1
i dette tilfelle, så ville jeg ha laget en liten .gif som består av kun den siste frame i din animasjon, og legge denne på ved en onMouseOut:

anim.gif = din animasjon
over.gif = ditt onMouseOver bilde
out.gif  = siste frame i anim.gif

<img src=\"anim.gif\" onMouseOver=\"over.gif\" onMouseOut=\"out.gif\">

Så vil animasjonen *kun* bli lastet ved en reload/refresh/load av siden

/nute
Avatar billede roenving Novice
28. august 2001 - 13:09 #2
>>nute
det skal vel være:

anim.gif = din animasjon = onMouseOver bilde
over.gif = ditt default
out.gif  = siste frame i anim.gif

<img src=\"over.gif\" onMouseOver=\"anim.gif\" onMouseOut=\"out.gif\">

-- Sådan læser jeg spørgsmålet ;·]
Avatar billede nute Nybegynder
28. august 2001 - 13:15 #3
roenving >> ahh...du har rett :-) Så er man nødt til å forandre litt på det:

<html>
<script>
var runAnim = true
function checkActive(){
  if( runAnim ){
    document.images[\'animImg\'].src = \'anim.gif\';
    runAnim = false;
  } else {
    // Her kan du legge inn et annet bilde istedenfor animasjonen
  }
}
</script>
<body>
<img id=\"animImg\" src=\"over.gif\" onMouseOver=\"checkActive();\" onMouseOut=\"out.gif\">
</body>
</html>

/nute
Avatar billede olebole Juniormester
28. august 2001 - 13:46 #4
<ole>
Skal animationen virkelig kun køre, mens man holder musen over billedet? Det, tvivler jeg på, er meningen.

Du kan evt. time din animation. Hvis den under normale forhold tager 2 sekunder at afvikle, kan du skrive sådan:

<html>
<head>
<script language=\"JavaScript\">
var animActive = false;
function finished() {
    document.images[\"ib\"].src = \"din_anden.gif\";
    animActive = false;
}
function swap() {
    if (!animActive) {
        animActive = true;
        document.images[\"ib\"].src = \"din_anim.gif\";
        setTimeout(\"finished()\",3000);
    }
}
</script>
</head>
<body>

<a href=\"#\" onmouseover=\"swap();\"><img src=\"et_billede.gif\" name=\"ib\" id=\"ib\"></a>

</body>
</html>

Så vil animationen ikke kunne genstartes før efter 3 sekunder - efter, man har startet animationen.
Derefter kan den attaer startes. Skal den ikke kunne genstartes, skal du bare slette linien:
  animActive = false;
...i funktionen finished().
/mvh
</bole>
Avatar billede olebole Juniormester
28. august 2001 - 13:47 #5
nute >> din virker ikke i NS4.x, da den ikke tager mouse-events på billeder  ;o)
/mvh
Avatar billede nute Nybegynder
28. august 2001 - 13:53 #6
hmmm....det var da ergerlig :-|
Avatar billede olebole Juniormester
28. august 2001 - 13:57 #7
Jaja...men den er jo ellers fin nok - man lægger bare dine mouse-events ud i et link om billedet  :)
/mvh
Avatar billede nute Nybegynder
28. august 2001 - 14:01 #8
olebole >> yup :)
Avatar billede olebole Juniormester
28. august 2001 - 14:05 #9
Til gengæld er virkemåden og resultatet i vores scripts forskellige...så må vi bare vente og høre, hvad han egentlig vil  =o)
/mvh
Avatar billede tue Nybegynder
28. august 2001 - 15:59 #10
olebole har fat i den rigtige ende... takker :)
Avatar billede olebole Juniormester
28. august 2001 - 16:06 #11
Selv takker  =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
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