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 : Bildschirmschoner : Donut -


Der Bildschirmschoner (hier Modell "Donut") öffnet sich in 10 Sekunden, wenn Sie die Maus nicht bewegen und keine Taste drücken.

Erfolgreich getestet mit Internet Explorer 5.5 und 6.0.
Netscape oder Opera haben keinen (über JavaScript auslösbaren) echten Fullscreenmodus.


Quelltext für die auslösende Seite:

<html>
  <head>
    <title>Bildschirmschoner / Startseite</title>
    <script language="JavaScript">
      ie5=(document.getElementById && document.all && document.styleSheets)?1:0;

      var timer, status=0;
      var x1=0, x2=0, y1=0, y2=0;

      // Bildschirmschoner starten, wenn Timer bei 0
      function timerCheck() {
        if(status==1) {
          timer-=1000;
          if(timer>0) setTimeout('timerCheck()',1000);
          else if(ie5)
              var w=window.open('Donut.html','','fullscreen=1');
        }
      }

      // Auf Mausbewegung prüfen
      function mouseCheck() {
        if(x1==0 && y1==0) {
          x1=event.screenX;
          y1=event.screenY;
          setTimeout('x1=0; y1=0',40);
        }
        x2=event.screenX;
        y2=event.screenY;
        setTimeout('x2=0; y2=0',40);
        if(x1 != x2 || y1 != y2) timerStart();
      }

      // Timer-Startwert setzen oder erneuern und Timer ggf. starten
      function timerStart() {
        timer=10*1000;
        if(status==0) {
          status=1;
          timerCheck();
        }
      }

    </script>
  </head>

  <!-- Event-Abfragen: (onmouseover und oncontextmenu sollen Sonderfälle abdecken) -->
  <body onfocus="timerStart()" onmouseover="timerStart()" onmousemove="mouseCheck()"
      onmouseup="timerStart()" onkeypress="timerStart()" oncontextmenu="status=0"
      onblur="status=0">
  </body>
</html>

Quelltext für die Schonerseite (Modell "Donut"):

<html>
  <head>
    <title>Bildschirmschoner / Modell "Donut"</title>
    <style type="text/css">div{position:absolute;left:-500px;top:-500px;
        font-size:400px}</style>

    <script language="JavaScript">

      // Auf Mausbewegung prüfen
      var x1=0, x2=0, y1=0, y2=0;
      function mouseCheck() {
        if(x1==0 && y1==0) {
          x1=event.screenX;
          y1=event.screenY;
          setTimeout('x1=0; y1=0',40);
        }
        x2=event.screenX;
        y2=event.screenY;
        setTimeout('x2=0; y2=0',40);
        if(x1 != x2 || y1 != y2) close();
      }

      // Der Donut:
      // Es sind einfach 100 "°", im Kreis angeordnet, dessen Radius sich verändert.
      ScreenR=Math.sqrt(screen.width*screen.width+screen.height*screen.height)/2;
      var R=0;
      setInterval('R=R+1',100);

      for(i=0;i<100;i++) document.write("<div id='P" + i + "'><p>°</p></div>");

      function move() {
        for(i=0; i<100; i++) {
          document.all.tags("div")[i].style.left=(screen.width/2-85)+R*Math.cos(0.063*i);
          document.all.tags("div")[i].style.top=(screen.height/2-130)+R*Math.sin(0.063*i);
        }
        if(R>ScreenR+50) R=0;
        setTimeout ('move()',50);
      }
    </script>
  </head>

  <body bgcolor="#f5deb3" text="#d2691e" scroll="no" onload="move()"
      onmousemove="mouseCheck()" onkeypress="window.close()">
  </body>

</html>


Download  Donut.zip (ca. 2 kb)




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