Cybaer: Browser Schnick Schnack

Beitrag lesen

Hi,

Ich will für eine Seite, als zusätzliches Feature, die Möglichkeit bieten einen Bereich auszublenden. Eigentlich reicht ja display = 'none'
Das geht aber etwas zu zackig, wenn es eine Möglichkeit gäbe - kurz und einfach - das etwas animierter zu bewerkstelligen wäre das nicht schlecht.

Wie immer: mit setTimeout()! ;-)

Und da ich das auch gerade gebraucht habe, gibt's einen Quickie:

function fadein(imgname,steps,time) {
  fadingsteps=((steps>0)?(100/steps):100);
  fadingtime=time;
  fadingname=imgname;
  fadingvalue=100;
  if(is_w3cDOM) {
   transparency("tofade",100);
  document.getElementsByName("tofade")[0].style.visibility="visible";
   window.setTimeout('fading()',fadingtime);
  }
 }
 function fading() {
  fadingvalue-=fadingsteps;
  if(fadingvalue>0 && fadingvalue<100) {
   window.setTimeout("fading()",fadingtime);
  }
  transparency(fadingname,fadingvalue);
 }

Mit dem Aufruf fadein('tofade',50,20); blenden IE und Mozilla sanft ein (50 Stufen von 100 möglichen, mit jeweils 20 ms Timeout-Wartezeit). Zum Ausblenden sollte es im Wesentlichen reichen, das "-" in der ersten fading()-Zeile in "+" zu ändern und fadingValue auf 0 zu setzen.

is_w3cDOM dürfte klar sein (stammt aus http://Coding.vampirehost.de/Systemvariable), transparency() gibt es unter http://Coding.vampirehost.de/Transparenz (alternativ toggle() http://Coding.vampirehost.de/Toggle - unterstützt bereits CSS-3-Transparenz).

Beherrscht das auzublendende Element kein NAME-Attribut, dann nimm die ID und ändere das getElements entsprechen.

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!