Det beror på att scriptet endast är skrivet för IE-DOM. För att vara kompatibel med W3C's rekommendationer för DOM kan du använda;
<script language="JavaScript" type="text/javascript">
function changeStyle(Id,Property,Value){
if (document.all){
eval('document.all[Id].style.'+Property+'="'+Value+'"');
} else if (document.layers){
eval('document.layers[Id].'+Property+'="'+Value+'"');
} else if (document.getElementById){
eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
}
}
</script>
<a href="#" onMouseOver="changeStyle('menu1','display','block');" onMouseOut="changeStyle('menu1','display','none');">Meny 1</a> | <a href="#" onMouseOver="changeStyle('menu2','display','block');" onMouseOut="changeStyle('menu2','display','none');">Meny 2</a><br>
<div id="menu1" style="display: none;">
Alternativ för meny 1.
</div>
<div id="menu2" style="display: none;">
Alternativ för meny 2.
</div>