php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.08.2009, 16:45  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard [Erledigt] Was ist hier nicht mit IE7 kompatibel?

Hallo php.de-Community.

Ich schreibe momentan eine kleine Navigation. Diese Navigation besteht aus maximal 3 Ebenen und zwar sieht das so aus:
  • Links der 1. Ebene
  • Kategorie 1
    • Links der 2. Ebene
    • Kategorie 2
      • Links der 3. Ebene

Das ganze soll dann Ebenenmäßig ein und ausklappbar sein. Damit jedoch auch benutzer ohne Javascript zurechtkommen, wird das Menü beim aufbau der Seite vollständig eingeblendet und erst nach dem laden der Website (falls aktiviert) mit Javascript zusammengeklappt.

Das ganze funktioniert auch einwandfrei aber nur im Firefox (Dort auch ohne Fehler oder Warnungen in der Fehlerkonsole)

Führt man das ganze dann aber im Internet Explorer (Microsoft) aus. Klappt sich das Menü nicht zusammen.

Ich habe herausgefunden, dass anscheinen die variablen second_ul_layer und third_ul_layer leer bleiben
Code:
var master_ul
var second_ul_layer
var third_ul_layer

function navigation_init() {
    var nav_div = document.getElementById("leftnavi")
    var uls = nav_div.getElementsByTagName("ul")

    for(var i = 0; i < uls.length; i++) {
        if (uls[i].parentNode == nav_div) {
            master_ul = uls[i]
            break
        }
    }

    second_ul_layer = new Array()
    for(i = 0; i < uls.length; i++) {
        if(uls[i].parentNode == master_ul) {
            second_ul_layer.push(new Object())
            index = second_ul_layer.length - 1
            second_ul_layer[index] = uls[i]
        }
    }

    third_ul_layer = new Array()
    for(var l = 0; l < second_ul_layer.length; l++) {
        for(i = 0; i < uls.length; i++) {
            if(uls[i].parentNode == second_ul_layer[l]) {
                third_ul_layer.push(new Object())
                index = third_ul_layer.length - 1
                third_ul_layer[index]['object'] = new Object()
                third_ul_layer[index]['object'] = uls[i]
                third_ul_layer[index]['parent'] = new Object()
                third_ul_layer[index]['parent'] = second_ul_layer[l]
            }
        }
    }
    navigation_hide_all_second_layer()
}

function navigation_hide_all_second_layer() {
    for(var i = 0; i < second_ul_layer.length; i++) {
        layer = second_ul_layer[i]
        navigation_hide_all_third_layer(layer)
        layer.style.display = 'none'
    }
}

function navigation_hide_all_third_layer(second_layer) {
    for(var i = 0; i < third_ul_layer.length; i++) {
        if(third_ul_layer[i]['parent'] == second_layer) {
            third_ul_layer[i]['object'].style.display = 'none'
        }
    }
}

function navigation_open(category_li) {
    var sibling = category_li.nextSibling.nextSibling
    var open = (sibling.style.display == 'block') ? false : true;
    if(category_li.parentNode == master_ul) {
        navigation_hide_all_second_layer()
        if(open) {
            sibling.style.display = 'block'
        }
    }
    else {
        navigation_hide_all_third_layer(category_li.parentNode)
        if(open) {
            sibling.style.display = 'block'
        }
    }
}

Habt ihr eine Idee warum?

//PS.:
gab es nicht mal so eine art Fehlerkonsole im MSIE? Ich finde die einfach nicht mehr.
__________________

Geändert von Frank (21.08.2009 um 16:53 Uhr).
Frank ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.08.2009, 19:25  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Hat sich erledigt, hab mich um den IE rumgeschummelt
ch3ck3r private pastebin - collaborative debugging tool
__________________
Frank ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ie6 kompatibel nicii HTML, Usability und Barrierefreiheit 7 06.08.2009 19:42
[Erledigt] Navigation kompatibel machen für IE7/8 prestige HTML, Usability und Barrierefreiheit 5 01.05.2009 10:01
PHP5 kompatibel? Code geht auf einmal nicht mehr... tosi PHP Tipps 2008 7 19.11.2008 23:09
Formulartexte HTML - kompatibel umwandeln horstenpeter PHP Tipps 2006 6 22.02.2006 16:43
Firefox kompatibel machen? Kori HTML, Usability und Barrierefreiheit 6 23.11.2005 00:42
Befehl nicht kompatibel zwischen MySQL 4.1.10 und 4.1.11 Datenbanken 3 28.06.2005 11:36
[Erledigt] Beginner: WinXP &amp; MySql kompatibel Datenbanken 3 26.08.2004 20:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ie7 fehlerkonsole, fehlerkonsole ie7, ie7 webseite nicht kompatibel, website nicht internet explorer 7 kompatibel, ie 7 fehlerkonsole, ie7 kompatibel, seite ie7 kompatibel machen, ie7 kompatibel mit, ie7 mit msn kompatibel, iexplorer 7 kompatibilität html, internet explorer 7 object kompatibel, webseite nicht kompatibel ie7, was heißt nachricht inkompatibel, ie7 kompatibilität javascript, ie7 object.push, kompatibiel javascript ie6, html kompatibel, was bedeutet nicht kompatibles navigationsgerät, ie 7 kompatible webseite, ie7 js fehlerconsole

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum