hilfdirselbst.ch
Facebook Twitter gamper-media
"Funktioniert nicht" ist keine hinreichende Fehlerbeschreibung.
nickel
Beiträge: 10
17. Jan 2005, 18:28
Beitrag #1 von 2
Bewertung:
(312 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

hilfe! Aufklappmenü funktioniert nur in opera nicht!


habe nachfolgendes aufklappmenü erstellt. funzt auch gut in ie, netscape, firefox allerdings nicht in opera!
kann mir jemand helfen?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<link rel="stylesheet" href="hp_mm.css" type="text/css">
<html>
<head>
<title>Aufklappmenu</title>
</head>
<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font-weight:bold ;
//list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

<ul>
<li id="foldheader">News</li>

<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="bericht1.html">Bericht</a></li>
</ul>

<li id="foldheader">Spiel</li>

<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="Ausschreibung.html">Ausschreibung</a></li>
</ul>

<li id="foldheader">Wer? Welche?</li>

<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="wer.html">Wer</a></li>
<li><a href="welche.html">Welche</a></li>

</ul>
</ul>


vielen dank
nickel Top
 
X
ganesh  M 
Beiträge: 1981
17. Jan 2005, 18:39
Beitrag #2 von 2
Beitrag ID: #136973
Bewertung:
(312 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

hilfe! Aufklappmenü funktioniert nur in opera nicht!


ehrlich gesagt wundert es mich, dass dies überhaupt in irgendeinem Browser funktioniert. Das HTML/CSS ist chaotisch :P

var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

Dieses Skript ist einfach veraltet. Opera versteht seit ca. Version 6 oder 7 die document.getElementById Methode, ergo ist dieser Fork hier unnütz. Dann gibt's noch die Eigenheit, dass Opera sich gerne als IE ausgibt im User-Agent, was die Sache auch nicht einfacher macht.

Generell gesagt sind Browserweichen schon seit Jahren Unsinn. Finde heraus, welche Methode unterstützt wird, nicht welcher Browser die Seite besucht.
als Antwort auf: [#136964] Top