Kommentare: 4 » aufmachen
Karina:
Dieses Script ist super! Funzt klasse...
Andreas:
wie kann ich noch mehr Verzeichnisse einfügen?
Werner:
Die ID "ordner 2" muss für einen weiteres Verzeichnis in "ordner 3" eingefügt werden. Der zu ändernde Code ist im Quelltext farbig markiert!
Funktioniert wirklich gut! Kann man auch mehrere Ordner ineinander legen (also Ordner 2a, 2b etc.)?
Gruß, Daniel
Werner:
Ja, es ist nur darauf zu achten das die <div>-Tags richtig ineinander verschachtelt werden.
<a href="javascript: anzeigen('ordner_2', bild_2);" class="Ordner">
<img name="bild_2" src="closed.gif" class="Bild"> Verzeichnis 2
</a><br>
<div id="ordner_2" class="Rand" style="display: none;">
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="javascript: anzeigen('ordner_2a', bild_2a);" class="Ordner">
<img name="bild_2a" src="closed.gif" class="Bild"> Verzeichnis 2a
</a><br>
<div id="ordner_2a" class="Rand" style="display: none;">
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
</div>
</div>
Degel:
Sollte das "Ordner-gif" eigentlich einen geöffneten Order zeigen, wenn man draufklickt? Bei mir bleibt es geschlossen. Woran kann das liegen?
Marko:
Ich habe mal dein Skript für die Folder Navigation modifiziert. Bei dieser Navigation werden alle anderen Tab (außer das aktuelle) geschlossen. Die Bilder werden nun auch entsprechend angezeigt.
<html><head>
<title></title>
<style type="text/css">
img.Bild {
border: 0px; margin-right: 3px;
}
a.Ordner {
font-family: Verdana;
font-size: 11px;
text-decoration: None;
color: #000000;
}
.link {
font-family: Verdana;
font-size: 11px
; text-decoration: None;
color: #FF0000;
}
.link:hover {
text-decoration: Underline;
}
.Rand {
margin-left: 23px;
}
</style>
<script type='text/javascript'>
function toggleNavTab( divId, imgId ) {
// get the last number of the id
var group = divId.replace(/d+$/g, "");
// get all emlements which begin with the name 'group'
var oElements = getElementByIdName (document, 'div', group);
// close all elements, but not the current
for (props in oElements) {
if (oElements[props].id !== divId)display(oElements[props].id,'none','closed.gif');
}
// toggle the current element (display,hide)
if (document.getElementById(divId).style.display == 'none') {
display(divId,'block','open.gif');
}
else {display(divId,'none','closed.gif');
}
}
function display(oId, distType, imgSrc) {// get the image name of the div object name
var imgId = oId.replace(/navFolder/g, 'navImage');
// hide/display the div object
if (document.getElementById([oId]))document.getElementById([oId]).style.display = distType;// display closed or open image
if (eval('document.images.'+imgId))eval( 'document.images.'+imgId+'.src="'+imgSrc+'"' );
}
function getElementByIdName(oElm, strTagName, strIdName) {
strIdName = strIdName.replace(/-/g, "\-");
var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
var oRegExp = new RegExp("^" + strIdName + "\d+$");
var oElement;
for(var i=0; i<arrElements.length; i++) {
oElement = arrElements[i];
if (oRegExp.test(oElement.id)) {
arrReturnElements.push(oElement);
}
}
return (arrReturnElements);
}
</script>
</head><body>
<a href="javascript:toggleNavTab('navFolder1','navImage1');" class="Ordner"><img name="navImage1" src="closed.gif" class="Bild">Folder 1</a><br>
<div id="navFolder1" class="Rand" style="display: none;">
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br><a href="#" class="link">Demolink</a><br>
</div>
<a href="javascript:toggleNavTab('navFolder2','navImage2');" class="Ordner"><img name="navImage2" src="closed.gif" class="Bild">Folder 2</a><br>
<div id="navFolder2" class="Rand" style="display: none;">
<a href="#" class="link">Demolink</a><br><a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br><a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br></div>
<a href="javascript:toggleNavTab('navFolder3','navImage3');" class="Ordner"><img name="navImage3" src="closed.gif" class="Bild">Folder 3</a><br>
<div id="navFolder3" class="Rand" style="display: none;"><a href="#" class="link">Demolink</a><br><a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
<a href="#" class="link">Demolink</a><br>
</div>
</body>
</html>