dammi
Lt. Commander
- Registriert
- Sep. 2007
- Beiträge
- 1.631
Hallo Leute,
habe eine Funktion geschrieben, die in einer HTML Datei per CSS einen Textbereich einblendet und wieder ausblendet.
Wie man sehen kann ist diese Lösung hässlich lang.
Deswegen wollte ich den Code kürzen und habe es so probiert, was leider nicht klappt:
Kann mir jemand sagen wo im zweiten Codebeispiel der Fehler liegt !?
Hab mal alert('dfdf'); am Anfang der Funktion eingesetzt, aber selbst das wird nicht ausgelöst. Und ich versteh nicht warum er jetzt nichtmehr in die Funktion springt!
Greetz
habe eine Funktion geschrieben, die in einer HTML Datei per CSS einen Textbereich einblendet und wieder ausblendet.
Code:
<script language="JavaScript" type="text/javascript">
<!--
function einblenden(div) {
if(div == "ebene1"){
with(document.getElementById("ebene1").style){
if(display=="none"){
display="inline";
if(document.getElementById("ebene2").style.display == "inline"){
document.getElementById("ebene2").style.display = "none";
}
if(document.getElementById("ebene3").style.display == "inline"){
document.getElementById("ebene3").style.display = "none";
}
if(document.getElementById("ebene4").style.display == "inline"){
document.getElementById("ebene4").style.display = "none";
}
}
else {
display="none";
}
}
}
if(div == "ebene2"){
with(document.getElementById("ebene2").style){
if(display=="none"){
display="inline";
if(document.getElementById("ebene1").style.display == "inline"){
document.getElementById("ebene1").style.display = "none";
}
if(document.getElementById("ebene3").style.display == "inline"){
document.getElementById("ebene3").style.display = "none";
}
if(document.getElementById("ebene4").style.display == "inline"){
document.getElementById("ebene4").style.display = "none";
}
}
else {
display="none";
}
}
}
if(div == "ebene3"){
with(document.getElementById("ebene3").style){
if(display=="none"){
display="inline";
if(document.getElementById("ebene2").style.display == "inline"){
document.getElementById("ebene2").style.display = "none";
}
if(document.getElementById("ebene1").style.display == "inline"){
document.getElementById("ebene1").style.display = "none";
}
if(document.getElementById("ebene4").style.display == "inline"){
document.getElementById("ebene4").style.display = "none";
}
}
else {
display="none";
}
}
}
if(div == "ebene4"){
with(document.getElementById("ebene4").style){
if(display=="none"){
display="inline";
if(document.getElementById("ebene2").style.display == "inline"){
document.getElementById("ebene2").style.display = "none";
}
if(document.getElementById("ebene3").style.display == "inline"){
document.getElementById("ebene3").style.display = "none";
}
if(document.getElementById("ebene1").style.display == "inline"){
document.getElementById("ebene1").style.display = "none";
}
}
else {
display="none";
}
}
}
}
Wie man sehen kann ist diese Lösung hässlich lang.
Deswegen wollte ich den Code kürzen und habe es so probiert, was leider nicht klappt:
Code:
<script language="JavaScript" type="text/javascript">
<!--
function einblenden(div) {
var lvl = new Array ("ebene1", "ebene2", "ebene3", "ebene4");
var item = document.getElementById(lvl[i]);
with(document.getElementById(div).style) {
if(display=="none"){
display = "inline";
for (int i=0; i <= 3; i++) {
if (item.style.display == "inline"){
if (lvl[i] == div) {
}
if (lvl[i] != div){
item.style.display = "none";
}
}
}
else {
display="none";
}
}
}
}
//-->
</script>
Kann mir jemand sagen wo im zweiten Codebeispiel der Fehler liegt !?
Hab mal alert('dfdf'); am Anfang der Funktion eingesetzt, aber selbst das wird nicht ausgelöst. Und ich versteh nicht warum er jetzt nichtmehr in die Funktion springt!
Greetz