Anfängerproblem: JavaScript startet nicht auf "Knopf-Druck"

Lautsprecher

Erfahrenes Mitglied
Hallo,

ich versuche mir gerade ein wenig Javascript beizubringen und komme gerade leider nicht weiter. Vielleicht kann mir jemand von Euch helfen.

Ich möchte eine Grafik 300 Pixel von links nach rechts bewegen lassen. An der Endposition soll sie dann ausgeblendet (hidden) werden. Der ganze Spaß soll starten, in dem man auf einen Hyperlink drückt. Leider passiert bei mir gar nichts!

Hier mein Code:

Code:
<html>
<head>
<title>Aufgabe 1 Webdesign f&uuml;r Profis</title>

<script type="text/javascript">
<!--

var objref1

function init(){
  if (document.all){
    objref1 = document.all.raiba.style
   
  } else if (document.layers){
    objref1 = document.raiba
    
  } else if (document.getElementById){
    objref1 = document.getElementById("raiba").style
   
  }
}

function leselinks(){
  if (document.all)                                       //für IE 4,5,6
    return document.all.raiba.style.posLeft
  else if (document.layers)                    //Anweisungen für Netscape Navigator 4
    return document.raiba.left
  else if (document.getElementById)          //Anweisungen für Netscape 6, Firefox 1.5
    return parseInt(document.getElementById("raiba").style.left)
}

function setzelinks(n){
  if (document.all)
    document.all.raiba.style.posLeft = n
  else if (document.layers)
    document.raiba.left = n
  else if (document.getElementById)
    document.getElementById("raiba").style.left = n+"px"
}

function animate(abstand){
  ziel=abstand
  if (leselinks()<ziel){
    setzelinks(leselinks() + 3)
    setTimeout("animate(ziel)", 50)
  
  else
  { 
     hideshow()
  }
  
}


function hideshow(){
 
    var visi = "hidden"
    objref1.visibility = visi
  }
}




//-->
</script>
</head>



Grüße

<body onLoad="init();">

      <a href="#" onClick="animate(300);">Start</a>  



<div id="raiba" style="position:absolute; left:10px; top:400px;">
  <img src=images/hotzenplotz.jpg>
</div>

</body>
</html>
 
Moin,

du hast nur eine Klammer falsch gesetzt, so geht es :
Code:
function animate(abstand){
  ziel=abstand
  if (leselinks()<ziel){
    setzelinks(leselinks() + 3)
    setTimeout("animate(ziel)", 50)
<--nach hier
  else
  { 
     hideshow()
  }
  
}


function hideshow(){
 
    var visi = "hidden"
    objref1.visibility = visi
  }
}<--von hier
 
Hi,

....
ich versuche mir gerade ein wenig Javascript beizubringen und komme gerade leider nicht weiter.
....

Du hast einige Syntaxfehler in deinem Code.... überall am Ende jede Anweisung wurde ";" vergessen und auch einen Syntaxfehler bei der letzten Funktion die Klammer: "{}".

hierbei der anpasste Code, und der funkt. bei mir soweit ich ihn getestet habe.

HTML:
<script>
<!--

var objref1;

function init(){
  if (document.all){
    objref1 = document.all.raiba.style;
   
  } else if (document.layers){
    objref1 = document.raiba;
    
  } else if (document.getElementById){
    objref1 = document.getElementById("raiba").style;
   
  }
}

function leselinks(){
  if (document.all)                                       //für IE 4,5,6
    return document.all.raiba.style.posLeft;
  else if (document.layers)                    //Anweisungen für Netscape Navigator 4
    return document.raiba.left;
  else if (document.getElementById)          //Anweisungen für Netscape 6, Firefox 1.5
    return parseInt(document.getElementById("raiba").style.left);
}

function setzelinks(n){
  if (document.all)
    document.all.raiba.style.posLeft = n;
  else if (document.layers)
    document.raiba.left = n;
  else if (document.getElementById)
    document.getElementById("raiba").style.left = n+"px";
}

function animate(abstand){
  ziel=abstand;
  if (leselinks()<ziel){
    setzelinks(leselinks() + 3);
    setTimeout("animate(ziel)", 50);
  
  }else{ 
     hideshow();
  }
  
}

function hideshow(){
 
    var visi = "hidden";
    objref1.visibility = visi;
  }

//-->
</script>

Gruß und der Sven macht es natürlich viel besser ;-)
Messmar
 
Zuletzt bearbeitet:
Hallo Danke Euch

ist ja super, dass ihr mir so schnell helfen konntet! Immer diese Leichtsinnsfehler. Na ja aller Anfang ist schwer!!

Grüße
Daniel
 
Zurück