Dr.Ma-Busen: Brauche mal Hilfe bei ein JavaScript

Hallo!

Also ich habe nicht viel Ahnung von Javascript aber immerhin hat es für folgendes gereicht.
Ich habe mir mal ein Java Script geschrieben das so aussieht:
Dieser teil befindet sich in der HTML- Datei:

<div id="link0" style="position:absolute; ">
<a href="#" target="_blank" onMouseover="stoplinka('Beschreibung')"; onMouseout="golinka()">
<img src="Grafik.gif" width=85 height=37 alt="GrfikBeschreibung" border=0></a>
</div>

und zusätzlich noch :
<SCRIPT language=Javascript1.2>
var rl=5  // Linker Rand
var rr=605 // Rechter Rand
var ro=5 /Oberer Rand
var ru=487 // Untere Rand
var xplinka=300 ;  yplinka=50  //Startposition
var rixlinka=1 ;  riylinka=0      //Startrichtung
var xglinka=37 ; yglinka=85 //Grafik größe
</script>

und in einer externen JS- Datei folgendes:

var  linkstopa=0

function move(){
if(linkstopa==1){yplinka=yplinka;xplinka=xplinka}else{
if(rixlinka==1){xplinka=xplinka+3} else {xplinka=xplinka-3}
if(riylinka==1){yplinka=yplinka+3} else {yplinka=yplinka-3}
if(xplinka<ro){rixlinka=1}
if(xplinka+xglinka>ru){rixlinka=0}
if(yplinka<rl){riylinka=1}
if(yplinka+yglinka>rr){riylinka=0}
document.all.link0.style.left =yplinka; document.all.link0.style.top = xplinka
}
window.setInterval(move(),100);

function showlink()
{document.all.wohin.innerText=linktext}

function deltextinfo()
{document.all.wohin.innerText=""}

function stoplinka(info)
{linkstopa=1;zs=1;F=5
linktext=info
showlink()
}
function golinka()
{linkstopa=0;zs=0;deltextinfo()}

So, nun habe ich das aber nicht einmal sondern acht mal. Acht div- Tags acht mal den Code natürlich habe ich die Variablen und Namen geändert. Die Variablen sind Alphabetisch durchnummeriert (letzter Buchstabe) und die div- Tags sind Nummeriert lin0, link1 usw.
Da das ganze aber im Moment nur mit den IE läuft will ich das so ändern das es auch mit Netscape läuft. Welchen Code und wie ich den Code hinzufüge weis ich, dass ist auch nicht das Problem. Da ich aber vorhabe das Script auch für andere zur Verfügung zu stellen will ich es jetzt etwas vereinfachen damit da nicht mehr so viel Programm Code ist. Also ich habe mir das so gedacht: Ich rufe ein Funktion auf und übergebe der die Parameter wie Name der Grafik und Größe, den Link, und die Beschreibung. Ungefähr so
Add(GrafikName,URL,Beschriebung)
und dann erstellt die Funktion den Link. Die anderen Parameter wie Startrichtung und Startposition sollen dann durch einen Zufallsgenerator ermittelt werden.
So, nun meine Frage: Wie mache ich das? Wie muss ich den Code ändern ? Ich weis das ich das irgendwie mit Objekten machen muss aber nicht wie. Kann mir einer Helfen?

Hier ist noch eine URL wo man das ganze Script in Aktion sehen kann.
http://www.100mb4free.de/DocMaBusen/HtmlIE/Scripts/FliegendeLinks/FliegendeLinks.html
MfG
Dr.Ma-Busen

  1. Hallo!

    Also ich habe nicht viel Ahnung von Javascript aber immerhin hat es für folgendes gereicht.

    Und auch nicht viel von programmieren wie mir scheinen will.

    Du hast schon mal was von arrays gehört?

    Ich hab mir mal das alles angekuckt. Das steckt voller unglaublicher Fehler. Falsch verschachtelte, bzw. fehlenden start/End Tags. Der Code ist leider kaum lesbar, zumindestens, wenn du wirklich Hilfe erwartest, solltest du ein wenig den Code so formatieren, damit man sehen kann was er macht.

    Alles in allem schreib ich dir das in'ner halben stunde so um das man's auch lesen kann und es funktioniert.
    (Hab grad Zeit ;-))

    Struppi.

    1. Alles in allem schreib ich dir das in'ner halben stunde so um das man's auch lesen kann und es funktioniert.
      (Hab grad Zeit ;-))

      OK, hat ein wenig länger gedauert:
      HTML: http://home.arcor.de/struebig/js/test/fliegendelinks.htm
      JS: http://home.arcor.de/struebig/js/test/fliegendelinks.js

      und die Grafik noch umbenennen, du musst aufpassen, dein Server ignoriert im gegensatz zu Windows nicht die Gross und Kleinschreibung.

      Struppi

      1. Hi!

        Ja Struppi, dann Bedanke ich mich jetzt mal recht Herzlich bei dir für deine Hilfe, Danke.

        Hab es mir noch etwas "verfeinert", ich hoffe du hast nichts dagegen.

        Dann habe ich aber noch ein Fragen. Unter welchen Browsern läuft das ganze denn?
        Unter den IE 6 läuft es aber wie sieht es mit NC und Opera aus?

        Kannst dir das ganze ja mal anschauen.

        MfG
        Dr.Ma-Busen

        1. Hi!

          Ja Struppi, dann Bedanke ich mich jetzt mal recht Herzlich bei dir für deine Hilfe, Danke.

          Hab es mir noch etwas "verfeinert", ich hoffe du hast nichts dagegen.

          Dann habe ich aber noch ein Fragen. Unter welchen Browsern läuft das ganze denn?
          Unter den IE 6 läuft es aber wie sieht es mit NC und Opera aus?

          Kannst dir das ganze ja mal anschauen.

          Es könnte laufen, wenn du ein bisschen auf das HTML achten würdest.

          Hier:

          ////////////////////////////////////////////////////////////////////
          // Die Ausgabe der Layer.
          var html = "";
          for(var i = 0; i < LINKS.length;i++)
          {
               html += LINKS[i].show();
          }
          document.write(html);
          </SCRIPT>
          </body>

          beendest du den Body und kurz später fängt er wieder an. Du solltest diesen Block innerhalb des Body tags schreiben.

          Meine Variante http://home.arcor.de/struebig/js/gimmick/fliegendelinks.htm läuft in allen die ich zum testen habe.

          Struppi.