Java & JavaScript


Home
Applets
Scripts
   Navigation:
 · Kontextmenü
 · Linkwechsler
   Dialogboxen:
 · Alert
 · Alert 2
 · Confirm
 · Prompt
   Animation:
 · Kreis
 · Kreis 2
 · Kreis 3
 · Drei Kreise
 · Spirale
 · Planetarium
 · Globus
   Grafik-Effekte:
 · Clipping
 · Clipping 2
 · Clipping 3
 · Alpha-Clipping
 · Fading
 · Wellenmuster
 · Wellenmuster 2
   Bildschirmschoner:
 · Proto
 · Marquee
 · Donut
 · Worm
 · Mondrian
 · Pacman
   Datum & Uhrzeit:
 · Countdown
 · Countup
 · Wochentag
 · Last Modified
   Fraktale:
 · Apfelmännchen
 · Apfelmännchen 2
 · Juliamenge
 · Juliamenge 2
 · C-Wert-Generator
   Mathematik:
 · Primzahlen
 · Primzahlen 2
   Verschiedenes:
 · Dynamic Popup
 · TextArea Counter
 · Warteschleife
 · Mausschreiber
Gäste
Kontakt

- JavaScript : Animation : Drei Kreise -


Geometrische Figuren mit JavaScript: Drei Kreise bewegen sich um drei verschiedene Achsen.

Erfolgreich getestet mit Internet Explorer 5.5 und 6.0, Netscape Navigator 4.75, 7.0 und 7.1, Mozilla 1.21 und 1.4, sowie Opera 5.02, 5.11, 6.0 und 6.01
Leider sehr langsam in: Netscape 6.01 - 6.22, Mozilla 1.0 und Opera 7.01.


Demo:


JavaScript-Quellcode:

<script language="JavaScript">
  // div-Tags für die Punkte zunächst außerhalb des sichtbaren Bildschirms platzieren
  document.write(
    "<style type='text/css'>div{position:absolute;left:-300px;top:-300px}</style>");

  // Anzahl der Pünktchen bestimmen und in div-Tags schreiben (+1 wg. Opera-Bug mit 0)
  for(i=0;i<151;i++) document.write("<div id='P" + i + "'>.</div>");

  // Browserweiche (ie 5+ und nn 6+ / ie 4+ / nn 4.x)
  var laySyntax=new Array();
  for(i=0;i<151;i++) {
    if(document.getElementById) laySyntax[i]=document.getElementById("P"+i).style;
    else if(document.all) laySyntax[i]=document.all.tags("div")[i].style;
    else if(document.layers) laySyntax[i]=document.layers[i];
  }

  var alpha=0;

  // Kreisbewegung
  // 100 = Radius, 125/125 = Nullpunkt
  // 0.1257 = 2*Pi/Punkteanzahl pro Kreis = 2*Pi/50
  // = Abstand der Elemente zueinander in Radiant (rad)
  // Diese Angaben bestimmen die Größe der Kreise

  // feste Werte
  for(p=51;p<101;p++) laySyntax[p].top=125+100*Math.sin(0.1257*p);
  for(p=101;p<151;p++) laySyntax[p].left=125+100*Math.cos(0.1257*p);

  // veränderliche Werte
  function move() {
    for(p=1;p<51;p++) {
      laySyntax[p].left=125+100*Math.cos(alpha+0.1257*p);
      laySyntax[p].top=125+100*Math.sin(alpha+0.1257*p);
    }
    for(p=51;p<101;p++) laySyntax[p].left=125+100*Math.cos(0.1257*p)*Math.sin(alpha);
    for(p=101;p<151;p++) laySyntax[p].top=125+100*Math.sin(0.1257*p)*Math.sin(alpha);

    // Winkel-Geschwindigkeit
    alpha=alpha-0.01;
    setTimeout ('move()',50);
  }
</script>

Gestartet wird die Kreisbewegung durch die Anweisung onload="move()" im body-Tag.


Download  Drei_Kreise.zip (ca. 1 kb)




© 2001-2004 Albert Kluge - Alle Rechte vorbehalten
Impressum | Datenschutz | Nutzung | eMail