Avatar billede d.kryger Praktikant
03. oktober 2006 - 10:13 Der er 8 kommentarer og
1 løsning

Hvor er fejlen (billede skal fade in)?

Hej eksperter.

Jeg har forsøgt mig med følgende script, men jeg får en fejl når jeg loader siden. Fejlen er: Linie: 8 - Tegn: 3 - Et objekt var ventet.

Det er meningen at 1.jpg skal fade in når siden loades. Hvad går der galt?

Koden:
<html>

<head>
<title>Fade in</title>
<script language="JavaScript">
function fadein()
{
  opacity('showpix', 0, 100, 500);
}
</script>
</head>

<body onload="fadein()" topmargin="0" leftmargin="0">

<img name='showpix' border='0' src='grafik/billeder/1.jpg' galleryimg='no' style='filter:alpha(opacity=0)'>

</body>

</html>
Avatar billede softspot Forsker
03. oktober 2006 - 10:18 #1
Du mangler en reference til den JS-fil som indeholder funktionen opacity...
Avatar billede d.kryger Praktikant
03. oktober 2006 - 11:30 #2
OK, men hvad skal der stå i den???
Kan du hjælpe med det?
Avatar billede softspot Forsker
03. oktober 2006 - 12:22 #3
Det må være noget i stil med dette:

<html>
<head>
  <title>Fade in</title>
  <script type="text/javascript">
  var fadeCounter = 0;
  var fadeIterations = 10;

  function opacity(layerName, startOpacity, endOpacity, fadeTime) {
    fadeCounter = 0;
    var fadeStep = (endOpacity - startOpacity) / fadeIterations;
    changeOpacity(layerName,startOpacity,fadeStep,fadeTime);
  }

  function changeOpacity(layerName, opacityValue, fadeStep, fadeTime) {
    var objLayer = document.getElementById(layerName);
    if(objLayer) {
      if(objLayer.style.filter) {
        objLayer.style.filter = "alpha(opacity=" + opacityValue + ")";
      }
      else {
        objLayer.style.opacity = opacityValue / 100;
      }
      if(fadeCounter++ < fadeIterations)
        setTimeout("changeOpacity('" + layerName + "'," + (opacityValue + fadeStep) + "," + fadeStep + "," + fadeTime + ")", fadeTime / fadeIterations);
    }
    else
      alert("laget '" + layerName + "' kunne ikke findes...");
  }
 
  function fadein()
  {
    opacity('showpix', 0, 100, 500);
  }
  </script>
</head>

<body onload="fadein()" topmargin="0" leftmargin="0">

  <img id='showpix' border='0' src='misc.jpg' galleryimg='no' style='filter:alpha(opacity=0);opacity:0;'>

</body>

</html>
Avatar billede psykochicken Nybegynder
03. oktober 2006 - 12:23 #4
Hvis du har funktionen opacity liggende i en seperat js-fil:
<script type="text/javascript" src="dit_filnavn.js"></script>

/psc
Avatar billede softspot Forsker
03. oktober 2006 - 12:25 #5
Du kan få en mere flydende fadeeffekt ved at hæve fadeIterations til f.eks. 50.

Billede-elementet skal have et id i stedet for et name, da jeg benytter getElementById til at finde elementet med...

Du kan desuden kun have et billede som fader ad gangen.
Avatar billede psykochicken Nybegynder
03. oktober 2006 - 12:25 #6
lol...ok det var hvad der skulle stå i koden og ikke i referencen du mente ;o)

/psc
Avatar billede d.kryger Praktikant
03. oktober 2006 - 15:03 #7
Softspot -> Tak for hjælpen... Læg et svar, så jeg kan give dig dine velfortjente point...
Avatar billede softspot Forsker
03. oktober 2006 - 15:16 #8
Velbekomme :)
Avatar billede softspot Forsker
03. oktober 2006 - 15:33 #9
Tak for point :)
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