Hallo Bob,
Jetzt habe ich aber noch eine Frage zu dem Script.
Kann man das noch so abändern, dass wenn ich ausserhalb des
divs (also irgenwo auf dem Bildschirm) klicke, dass sich der
div dann schliesst ?
*Das* ist schon schwieriger, weil man sofort
in das ‚bubble up‘ Problem von Javascript
reinkommt.
Um das zu lösen, muss man einen ‚onclick‘-Handler
auf das ganze Dokument setzen und *dann* schauen,
welches element „getroffen“ wurde. Und gerade dieses
„Finde geklicktes Element“ ist nichttrivial. Nach ein
wenig Studium brachte ich dann eine solche Funktion
zu stande, ich hoffe dass es auch in Brausern geht,
die ich nicht besitze 
#mydiv { visibility:hidden; background-color:#FF66FF; color:#33FF33; }
#einblenden { color:white; background:#669966; display:inline; }
var reentrant = 0, h = 0, b = 0;
function div_blende(id, breite, hoehe, aktion)
{
if( ! reentrant ) {
reentrant = 1;
var move = 0, element = document.getElementById(id);
if( aktion == ‚ein‘ ) {
if(h < hoehe ){ h += 20; move++ }
if(b < breite){ b += 20; move++ }
element.style.visibility = ‚visible‘;
}
else if( aktion == ‚aus‘ ) {
if(h > 0 ){ h -= 20; move++ }
if(b > 0 ){ b -= 20; move++ }
element.style.visibility = (b > 0 && h > 0) ? ‚visible‘ : ‚hidden‘;
}
if( move ) {
element.style.height = h + ‚px‘;
element.style.width = b + ‚px‘;
window.setTimeout( function(){ div_blende(id,hoehe,breite,aktion) }, 20 );
}
reentrant = 0;
}
}
function FindID(e) { // modified from script at:
var target; // http://www.quirksmode.org …
if( !e ) e = window.event; // /js/events_properties.html#target
if( e.target ) target = e.target;
else if( e.srcElement ) target = e.srcElement;
if( target.nodeType == 3 ) target = target.parentNode; // Safari bug
return target.id
}
function my_clickhandler(e) {
div_blende( ‚mydiv‘, 300, 200, (FindID(e)==‚einblenden‘?‚ein‘:‚aus‘) );
}
document.onclick = my_clickhandler;
Test
Hier einblenden
Holla
Grüße
CMБ