Forum Doku Wiki Blog

Forumsarchiv 2007, Oktober
Bildgröße mit einer Verzögerung ändern

archivierte Beiträge lesen

  1. (JAVASCRIPT) Bildgröße mit einer Verzögerung ändern von Timur Ametov, 31. 10. 2007, 17:57

Bildgröße mit einer Verzögerung ändern

Der folgende Beitrag wurde am 31. 10. 2007, 17:57 Uhr von Timur Ametov veröffentlicht.

Guten Abend,

ich hatte ohne großen Erfolg versucht, Größe eines Bildes mit einer Verzögerung zu ändern, ich meine damit, dass z.B. Breite des Bildes von 50 auf 100 mit zwischenschritten geändert wird
width = 50 -> 70 -> 85 -> 95 -> 100

Habe zwei Funktionen für diesen Zweck geschrieben

   function changeicon(elem, width)
   {
        document.getElementById(elem).width=width;
   }
   function bigicon(elem)
   {
        window.setTimeout("changeicon('"+elem+"',55)", 100);
        window.setTimeout("changeicon('"+elem+"',75)", 100);
        window.setTimeout("changeicon('"+elem+"',85)", 100);
        window.setTimeout("changeicon('"+elem+"',95)", 100);
        window.setTimeout("changeicon('"+elem+"',100)", 100);
   }

Aber so wirklich funktioniert das nicht, zwischenschritte sind nicht zu sehen. Und der Code sieht außerdem schrecklich aus. Gibt es vielleicht bessere Alternativen???

Danke Euch,

Tim(ur)

Bildgröße mit einer Verzögerung ändern

Der folgende Beitrag wurde am 31. 10. 2007, 18:11 Uhr von Cheatah veröffentlicht.

Hi,

>         window.setTimeout("changeicon('"+elem+"',55)", 100);

hierdurch wird *jetzt* ein Timer gestartet, der in 100 Millisekunden etwas tut.

>         window.setTimeout("changeicon('"+elem+"',75)", 100);

Hierdurch wird *jetzt* ein Timer gestartet, der in 100 Millisekunden etwas tut.

>         window.setTimeout("changeicon('"+elem+"',85)", 100);

Hierdurch wird *jetzt* ... Ich denke, Du erkennst den Punkt.

> Gibt es vielleicht bessere Alternativen???

Entweder berechnest Du die Zeiträume anders, oder - da Du keine millisekundengenau Abarbeitung annehmen kannst - Du startest den nächsten Timeout erst dann, wenn dessen Vorgänger abgearbeitet ist.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes

Bildgröße mit einer Verzögerung ändern

Der folgende Beitrag wurde am 31. 10. 2007, 18:25 Uhr von Timur Ametov veröffentlicht.

> Entweder berechnest Du die Zeiträume anders,
Ja, das dachte ich mir auch. Hatte einfach mit größeren Zeitabständen experimentiert. Aber, wie gesagt, ich sehe nur das es sich in dieser Wartezeit nichts tut und dann am Ende wird das Bild auf Endgröße vergrößert.

> oder - da Du keine millisekundengenau Abarbeitung annehmen kannst - Du startest den nächsten Timeout erst dann, wenn dessen Vorgänger abgearbeitet ist.
Und wie mache ich das?

Timur

Bildgröße mit einer Verzögerung ändern

Der folgende Beitrag wurde am 31. 10. 2007, 18:30 Uhr von Cheatah veröffentlicht.

Hi,

> > Entweder berechnest Du die Zeiträume anders,
> Ja, das dachte ich mir auch. Hatte einfach mit größeren Zeitabständen experimentiert.

mit größeren, aber identischen? Nun, ob Du jetzt in hundert Millisekunden oder jetzt in hundert Jahren fünf Dinge machst, ändert nichts daran, dass diese fünf Dinge ziemlich schnell hintereinander passieren.

> Aber, wie gesagt, ich sehe nur das es sich in dieser Wartezeit nichts tut und dann am Ende wird das Bild auf Endgröße vergrößert.

Wenn Du alle hundert Jahre etwas tun möchtest, das erste mal in hundert Jahren, in wie vielen Jahren tust Du dann das zweite Ding?

> > oder - da Du keine millisekundengenau Abarbeitung annehmen kannst - Du startest den nächsten Timeout erst dann, wenn dessen Vorgänger abgearbeitet ist.
> Und wie mache ich das?

Den Aufruf von window.setTimeout() in die Funktion verlegen, von deren Abarbeitung der Aufruf abhängig ist. Also erst in hundert Jahren entscheiden, wie viele Jahre später Du das zweite Ding tun möchtest.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4