[FF] In firefox niets, ie gewoon oke (treemenu)

Pagina: 1
Acties:

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Hallo,

ik ben bezig met een eigen-gemaakt treemenutje, maar nadat ik in IE het werkend had dacht ik laat ik het eens in FF stoppen. Tot mijn verbazing deed hij het niet maar OOK zonder fouten op de pagina :S 8)7 Nou heb ik wel lopen zoeken, maar 't vlot niet echt, heb immers geen error!

Misschien dat iemand mij kan helpen, of iig de 'bug' aanwijzen?? O-)

de url: http://adsoft.nl/Misc/Angelo/treemenu/treemenu.html

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 04:40
Dit lijkt me niet de manier om te vragen of we kunnen helpen, post eens wat code, laat zien wat je geprobeerd hebt en ..... lees effe de FAQ.

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
ok ok, ik doe toch niets fout??

heb gezocht, maar geen fout, de code staat gewoon in de bron van dat bestand, maar ok, hij is lang hier is ie ... |:(

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
    <script language="JavaScript" type="text/javascript">
        var intCountId = 1;
        var intPrevLevel = 0;
        var strPrevId = 0;
        var strTemplateFolder = 'template/images/';
        var arrLastIdInLevel = new Array(10);
        var arrLastContInLevel = new Array(10);
        var arrLastFolderInLevel = new Array(10);

        function newMenuItem(intLevel, strFolderName)
        {
            // Create Img (operator)
            var objOperator = document.createElement("img");
            objOperator.id = 'image_' + intCountId;
            objOperator.idNumber= intCountId;
            objOperator.style.border = '0';
            objOperator.width = '19px';
            objOperator.height = '16px';
            objOperator.src = strTemplateFolder + 'empty.gif';

            // Create Folder Image
            var objFolderImage = document.createElement("img");
            objFolderImage.id = 'fimg_' + intCountId;   
            objFolderImage.idNumber = intCountId;
            objFolderImage.style.border = '0';
            objFolderImage.width = '17px';
            objFolderImage.height = '16px';
            objFolderImage.src = strTemplateFolder + 'folder_closed.gif';

            // Create Span
            var objFolderName = document.createElement('span');
            objFolderName.innerText = strFolderName;
            objFolderName.id = 'span_' + intCountId;
            objFolderName.className = 'normal';

            // Create new DIV
            var menuItem = document.createElement("div");
            menuItem.id = 'item_'  + intCountId;
            menuItem.curFolder = strFolderName;
            menuItem.idNumber = intCountId;
            menuItem.className = 'menuItem';
            menuItem.onclick = handleItemOnclick;
            menuItem.appendChild(objOperator);
            menuItem.appendChild(objFolderImage);
            menuItem.appendChild(objFolderName);

            if (intPrevLevel < intLevel)
            {
                arrLastContInLevel[intLevel] = 'cont_' + arrLastIdInLevel[intPrevLevel];
                document.getElementById('image_' + arrLastIdInLevel[intPrevLevel]).src = strTemplateFolder + 'plus.gif';
                document.getElementById('image_' + arrLastIdInLevel[intPrevLevel]).onclick = handleImageOnclick;

                var menuContainer = document.createElement("div");
                menuContainer.id = 'cont_' + arrLastIdInLevel[intPrevLevel];
                menuContainer.className = 'menuContainer';
                menuContainer.style.display = 'none';

                if (intLevel <= 1)
                    document.getElementById('rootContainer').appendChild(menuContainer);
                else
                    document.getElementById('cont_' + arrLastContInLevel[intLevel-1]).appendChild(menuContainer);

                arrLastContInLevel[intLevel] = arrLastIdInLevel[intLevel-1];
                arrLastFolderInLevel[intLevel] = document.getElementById('item_'+arrLastIdInLevel[intLevel-1]).curFolder;
            }

            if (intLevel == 0)
            {
                menuItem.fullPath = strFolderName;
                document.getElementById('rootContainer').appendChild(menuItem);
            }
            else
            {
                menuItem.fullPath = document.getElementById('item_'+arrLastIdInLevel[intLevel-1]).fullPath + '/' + strFolderName;
                document.getElementById('cont_' + arrLastIdInLevel[intLevel-1]).appendChild(menuItem);
            }

            arrLastIdInLevel[intLevel] = intCountId;
            arrLastFolderInLevel = strFolderName;
            intPrevLevel = intLevel;
            intCountId++;
        }

        function handleItemOnclick()
        {
            if(strPrevId != 0)
            {
                document.getElementById('span_' + strPrevId).className = 'normal';
            }

            document.getElementById('lblLocation').innerText = '//' + this.fullPath;
            document.getElementById('span_' + this.idNumber).className = 'selected';
            strPrevId = this.idNumber;
        }

        function handleImageOnclick()
        {
            var strCurrDisplay = document.getElementById('cont_' + this.idNumber).style.display;
            if (strCurrDisplay == 'block')
            {
                document.getElementById('cont_' + this.idNumber).style.display = 'none';
                document.getElementById('fimg_' + this.idNumber).src  = strTemplateFolder + 'folder_closed.gif';
                this.src = strTemplateFolder + 'plus.gif';
            }
            else
            {
                document.getElementById('cont_' + this.idNumber).style.display = 'block';
                document.getElementById('fimg_' + this.idNumber).src  = strTemplateFolder + 'folder_open.gif';
                this.src = strTemplateFolder + 'minus.gif';
            }
        }

        onload = function()
        {
            newMenuItem(0, "Foto's");
            newMenuItem(1, "Vakantie");
            newMenuItem(1, "Onzin");
            newMenuItem(2, "2004");
            newMenuItem(2, "2005");
            newMenuItem(2, "2006");
            newMenuItem(1, "Pro Shots");
            newMenuItem(2, "Camboy");
            newMenuItem(2, "Shikyo");
            newMenuItem(1, "Spam");
            newMenuItem(0, "Documenten");
            newMenuItem(0, "Projecten");
            newMenuItem(1, "Gegevens");
            newMenuItem(0, "Aantekeningen");
            newMenuItem(1, "Week1");
            newMenuItem(2, "IBAV");
            newMenuItem(2, "Project");
            newMenuItem(3, "Aantekeningen");
            newMenuItem(3, "Website");
            newMenuItem(1, "Week2");
        }
    </script>


(d8 juist dat jullie de lange code haatten)

btw wat ik geprobeert heb is wat dingen verwijderen en terug zetten, niks krijg ik te zien in FF en weet niet waarom heb dus ook niets waarmee ik verder kan, normaal had ik wel errors of andere dingen gepost

[ Voor 12% gewijzigd door semicon op 22-09-2005 22:55 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:56

crisp

Devver

Pixelated

Geen errors, wel een warning:
Warning: assignment to undeclared variable onload
Source File: http://adsoft.nl/Misc/Angelo/treemenu/treemenu.html
Line: 120
maak daar eens window.onload van ;)

Intentionally left blank


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
tis misschien al iets, maareh ik zie nog steeds niets :) waar zit warnings btw dan kan ik dat de volgende keer zelf opzoeken O-)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:56

crisp

Devver

Pixelated

De rest van je probleem zit 'm waarschijnlijk in je CSS, want als ik CSS disable dan zie ik wel je menu.
Javascript strict warnings kan je via de webdeveloper toolbar zichtbaar maken.

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:56

crisp

Devver

Pixelated

Na een paar kleine tweaks heb ik 'm werkend:
JavaScript:
1
2
objOperator.width = '19px';
objOperator.height = '16px';

vervangen door:
JavaScript:
1
2
objOperator.style.width = '19px';
objOperator.style.height = '16px';

of
JavaScript:
1
2
objOperator.width = 19;
objOperator.height = 16;

(geldt ook voor objFolderImage)

en
JavaScript:
1
objFolderName.innerText = strFolderName;

vervangen door:
JavaScript:
1
objFolderName.appendChild(document.createTextNode(strFolderName));

(innerText is een IE-only property)

Verder kan ik je aanraden je plaatjes te preloaden en bij het aanmaken van de images te verwijzen naar je preloaded objects.

Intentionally left blank


  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
mag ik u hartelijk danken, je stelt me nooit teleur :) super

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:56

crisp

Devver

Pixelated

Oh ja, voor
JavaScript:
1
document.getElementById('lblLocation').innerText = '//' + this.fullPath;

moet je natuurlijk ook een crossbrowser alternatief verzinnen, maar dat laat ik aan jou over ;)

Intentionally left blank

Pagina: 1