pullmenu
eva
- dhtml
hallo,
ich hab folgendes Problem:
Ich hab ein pulldownmenu wobei der mousover effekt im einen frame liegt und das ausgefahrene menu dann in einem anderen frame angezeigt werden soll. im ie klappt das ganze auch nur der n4.7 und der n6 machen probleme. bitte helft mir schnell dringend!
eva
Ich glaube da muesstest du hier erstma den HTML Code posten bevor dir jemand helfen kann
<script language="javascript">
<!--
if (document.layers) {n=1;ie=0}
if (document.all) {n=0;ie=1}
function init() {
if (n) {drop1 = document.pull1; drop2 = document.pull2; drop3 = document.pull3; drop4 = document.pull4; drop5 = document.pull5;}
if (ie) {drop1 = pull1.style; drop2 = pull2.style; drop3 = pull3.style; drop4 = pull4.style; drop5 = pull5.style;}
}
function showpull1() {
if (n) {drop1.visibility = "show";}
if (ie) {drop1.visibility = "visible";}
}
function hideothers1() {
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
if (n) {drop3.visibility = "hide";}
if (ie) {drop3.visibility = "hidden";}
if (n) {drop4.visibility = "hide";}
if (ie) {drop4.visibility = "hidden";}
if (n) {drop5.visibility = "hide";}
if (ie) {drop5.visibility = "hidden";}
}
function showpull2() {
if (n) {drop2.visibility = "show";}
if (ie) {drop2.visibility = "visible";}
}
function hideothers2() {
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
if (n) {drop3.visibility = "hide";}
if (ie) {drop3.visibility = "hidden";}
if (n) {drop4.visibility = "hide";}
if (ie) {drop4.visibility = "hidden";}
if (n) {drop5.visibility = "hide";}
if (ie) {drop5.visibility = "hidden";}
}
function showpull3() {
if (n) {drop3.visibility = "show";}
if (ie) {drop3.visibility = "visible";}
}
function hideothers3() {
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
if (n) {drop4.visibility = "hide";}
if (ie) {drop4.visibility = "hidden";}
if (n) {drop5.visibility = "hide";}
if (ie) {drop5.visibility = "hidden";}
}
function showpull4() {
if (n) {drop4.visibility = "show";}
if (ie) {drop4.visibility = "visible";}
}
function hideothers4() {
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
if (n) {drop3.visibility = "hide";}
if (ie) {drop3.visibility = "hidden";}
if (n) {drop5.visibility = "hide";}
if (ie) {drop5.visibility = "hidden";}
}
function showpull5() {
if (n) {drop5.visibility = "show";}
if (ie) {drop5.visibility = "visible";}
}
function hideothers5() {
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
if (n) {drop3.visibility = "hide";}
if (ie) {drop3.visibility = "hidden";}
if (n) {drop4.visibility = "hide";}
if (ie) {drop4.visibility = "hidden";}
}
function hideall(){
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
if (n) {drop3.visibility = "hide";}
if (ie) {drop3.visibility = "hidden";}
if (n) {drop4.visibility = "hide";}
if (ie) {drop4.visibility = "hidden";}
if (n) {drop5.visibility = "hide";}
if (ie) {drop5.visibility = "hidden";}
}
//-->
</script>
Ich hoffe der hilft weiter :)
code fuer das frame in dem das ausgefahrene menu sichtbar sein soll:
<script language="javascript">
<!--
if (document.layers) {n=1;ie=0}
if (document.all) {n=0;ie=1}
function init() {
if (n) {drop1 = document.pull1; drop2 = document.pull2;}
if (ie) {drop1 = pull1.style; drop2 = pull2.style;}
}
function showpull1() {
if (n) {drop1.visibility = "show";}
if (ie) {drop1.visibility = "visible";}
}
function hideothers1() {
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
}
function showpull2() {
if (n) {drop2.visibility = "show";}
if (ie) {drop2.visibility = "visible";}
}
function hideothers2() {
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
}
function hideall(){
if (n) {drop1.visibility = "hide";}
if (ie) {drop1.visibility = "hidden";}
if (n) {drop2.visibility = "hide";}
if (ie) {drop2.visibility = "hidden";}
}
//-->
</script>
<style type="text/css">
<!--
#pull1 {FONT-FAMILY: Arial; LEFT: 0px; POSITION: absolute; TOP: 20px; visibility: hidden}
#pull2 {FONT-FAMILY: Arial; LEFT: 0px; POSITION: absolute; TOP: 45px; visibility: hidden}
//-->
</style>
<body onload="init()">
<layer name="pull1">
<div id="pull1">
<a href: ...></a>
</div>
</layer>
<layer name="pull2">
<div id="pull2">
<a href: ...></a>
</div>
</layer>
mouseover befehl im anderen frame:
<a href= ... onmouseover="javascript:top.main.showpull1(); top.main.hideothers1()"> Menu1</a>
<a href= ... onmouseover="javascript:top.main.showpull2(); top.main.hideother2()"> menu2 </a>
so der ist jetzt genauer :)
eva
im ie klappt das ganze auch nur der n4.7 und der n6 machen probleme. bitte helft mir schnell dringend!
Schnell mal zwischendurch:
Den N6 erwischt Du mit Deiner Abfrage nicht, da er document.layer nicht kennt.
Besser waere:
if (document.getElementById) // IE 5.x und NN 6
{browser = 'dom';}
if (document.layers) // NN 4.x
{browser = 'Netscape';}
if (document.all && !document.getElementById) // IE 4
{browser = 'Explorer';}
Gruesse
Wilhelm