Gunnar Bittersmann: div bei onmouseover einblenden u. b. onclick eingeblendet lassen

Beitrag lesen

@@iasonas:

nuqneH

function show(id) {
document.getElementById(id).style.display = 'block';
    }

Es ist unsinnig, der Funktion die ID als Parameter zu übergeben und sie bei jedem Aufruf das Element neu im DOM zuchen zu lassen.

Besser die Elemente einamlig im DOM suchen und in Variablen speichern. Die Funktion bekommt als Parameter die Referenz auf das Element:

var fooElement = document.getElementById('foo');  
  
function show(element)  
{  
   element.style.display = 'block';  
}  
  
// Aufruf mit:  
show(fooElement);

Oder gar nicht die CSS-Eigenschaft display mit JavaScript ändern, sondern das hidden-Attribut setzen/entfernen.

der link:

<a href="#" onMouseOver="show('layer1'); window.status=''; return true" onMouseOut="hide('layer1'); window.status='';return true">Layer1</a>

Das ist ein Link zum Seitenanfang. Wohl kaum das Gewünschte. Wenn damit kein Link zum Seitenanfang gemeint ist, ist <a href="#"> im HTML falsch; es sollte kein Link, sondern ein Button sein.

window.status=''? Wirklich? Welche Browser gestatten noch, per JavaScript die Statuszeile zu ändern?

Qapla'

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)