| 
Animationen mit JavaScript
Fenster in der Bildgröße aufblenden
Größe eines Bildes dynamisch verändern
Filter für Bilder
| Animationen
mit JavaScript |
|
Bestimmte Bildeffekte mit JavaScript findet
man auf jeder Website. Das sind die bekannten roll over Effekte
in allen Variationen, siehe Rollover et alter. Man kann aber
auch sowas machen.
Animationen mit JavaScript
Animation wiederholen Das ist tendenziell eigentlich auch
weniger umständlich, als eine Gif Animation zu machen. Der
Skript, der uns dieses Kunstwert auf den Schirm setzt, sieht
so aus.
<script language="javascript">
neun=new Image();
acht=new Image();
sieben=new Image();
sechs=new Image();
fuenf=new Image();
vier=new Image();
drei=new Image();
zwei=new Image();
eins=new Image();
neun.src="js_beispiele/27_arbeiten_bilder/9.gif";
acht.src="js_beispiele/27_arbeiten_bilder/8.gif";
sieben.src="js_beispiele/27_arbeiten_bilder/7.gif";
sechs.src="js_beispiele/27_arbeiten_bilder/6.gif";
fuenf.src="js_beispiele/27_arbeiten_bilder/5.gif";
vier.src="js_beispiele/27_arbeiten_bilder/4.gif";
drei.src="js_beispiele/27_arbeiten_bilder/3.gif";
zwei.src="js_beispiele/27_arbeiten_bilder/2.gif";
eins.src="js_beispiele/27_arbeiten_bilder/1.gif";
bilder=new Array(neun,acht,sieben,sechs,fuenf,vier,drei,zwei,eins);
nummer=1;
function animation()
{
document.images["animation"].src=bilder[nummer].src;
nummer++;
if(nummer<=9)
{
ende=window.setTimeout("animation()",1000);
}
else
{
nummer=1;
clearTimeout(ende);
}
}
window.onload=animation;
</script>
<img src=js_beispiele/27_arbeiten_bilder/9.gif name="animation">
<A href=javascript:animation()>
Wer es nachbauen will, braucht die Bilder, die
gibt es bilder_blume.zip.
Wie deutlich zu erkennen, ist der Skript relativ simpel. Um
sicher zu stellen, dass in dem Moment, in dem die Animation
aufgerufen wird, tatsächlich alle Bilder vorhanden sind
laden wir die Bilder in ein Objekt vom Typ Image, genau genommen
generieren wir eine Instanz der Klasse Image, Image ist ein
Konstruktor, siehe Eigene
Objekte mit JavaScript. Anschliessend weissen wir diesem
Image Objekt den source code (src) zu.
acht=new Image();
sieben=new Image();
.....
neun.src="js_beispiele/27_arbeiten_bilder/9.gif";
acht.src="js_beispiele/27_arbeiten_bilder/8.gif";
sieben.src="js_beispiele/27_arbeiten_bilder/7.gif";
Alle unsere Image Objekte übergeben
wir dann an einen Array. Jedes Element dieses Array hält
dann also ein Objekt.
bilder=new Array(neun,acht,sieben,sechs,fuenf,vier,drei,zwei,eins);
Die Funktion animation tauscht dann lediglich
die Bilder aus und sorgt mit nummer++ dafür, dass bei
jedem erneuten Aufruf über
window.setTimeout("animation()",1000);
das nächste Bild aufgerufen wird.
Eigentlich ist dieses Verfahren also bei einfachen Gifanimationen
ohne Überblendungseffekte etc. vorzuziehen.
| Fenster
in der Bildgröße aufblenden |
|
In der Internetprogrammierung steht man sehr
oft vor dem Problem, dass man zuerst nur einen thumbnail,
einen Daumennagel, eine verkleinerte Version des Bildes zeigen
will und wenn der User clickt, das ganze Bild. Man will dies
in der Regel bei Anzeigenmärkten und ähnlichem,
um das Layout der Seite nicht zu zerschmettern. Das Problem
besteht nun darin, dass die Bilder unterschiedlich gross sind
und folglich das Fenster, in das sie dann reingeschossen werden,
im günstigsten Fall genau so gross ist, wie das Bild.
Betrachten wir ein Beispiel.
");
fenster2.document.write(" ");
fenster2.document.write(" |