[JS/Moz] functie werkt alleen met alert()

Pagina: 1
Acties:

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
Er is al regelmatig over gediscusieerd maar ik kan geen van de oude topics meer vinden met de search, vandaar nogmaals deze vraag.

Ik heb een stukkie code wat een layer zichtbaar of onzichtbaar maakt, op zich niets bijzonders maar nou vertikt Mozilla om dat uit te voeren..tenzij ik er eerst een alert() voor plak.

Wat kon je daar nou ook al weer aan doen?
Een setTimeout geeft geen verlichting...

HTML:
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
function hideNews(arg){

        if(arg != '0'){
                    
            if(DOM){
            alert('bla');
                document.getElementById('nieuwsvisual').style.visibility = 'hidden';
            }else if(IE4){
                document.all['nieuwsvisual'].style.visibility = 'hidden';   
            }else if(NN){
                document.layers['nieuwsvisual'].visibility = "hide";
            }
        }else{
        
            if(DOM){
                document.getElementById('nieuwsvisual').style.visibility = 'visible';       
            }else if(IE4){
                document.all['nieuwsvisual'].style.visibility = 'visible';  
            }else if(NN){
                document.layers['nieuwsvisual'].visibility = "show";    
            }
        
        }
        
    }

Het betreft dus de alert() op regel 6, als ik die verwijder is het brak ;(

www.jurgroessen.nl


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

je genereert die dingen dynamisch ook ofzo?

en wat is de foutmelding die je krijgt zonder alert.. want de code die bovenstaat zou in een statische gewoon werken...

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
nope, gewoon statisch materiaal...
Er wordt geen error getoont in Moz, dat is ook zo daaps.

Nog vager wordt het als ik je vertel dat ik net het document sluit en weer open en dat ie het toen deed in Moz en niet meer in IE :?

www.jurgroessen.nl


Verwijderd

Wordt de functie soms al aangeroepen voordat de pagina helemaal is ingeladen?

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24
nee, dat zeker niet.

Ik heb nu wel gevonden dat ze het beide doen met dezelfde code en zonder alert(), maar waarom het net alleen werkte mét alert() blijft me een raadsel.

Het probleem wat net optradt hing samen met de broserdetectie.
Dit werkt wel:
HTML:
1
2
3
4
/* browser determination */     
    var IE4 =((document.all) && (!document.getElementById));            
    var NN = (document.layers);         
    var DOM = (document.getElementById);

maar dit niet:
HTML:
1
2
3
4
/* browser determination */     
    var IE4 =((document.all) && (!document.getElementById));            
    var NN = (document.layers);         
    var DOM = ((document.getElementById)&& (!document.all));

Maar d'r net werkte de onderste wel alleen Moz had een alert nodig.. ik wordt helemaal |:(

Voor de liefhebber:
De functie wordt vanuit een ander frame aangesproken om een deel van een menu te showen of te hiden.
De aanspraak gebert in de body-onload van het andere frame:
HTML:
1
<body onload="top.frames['menu'].hideNews('0');" onunload="top.frames['menu'].hideNews('1');">


De code staat gewoon zoals het hoort in het JS-block in de head, het te hiden object, een plaatje, staat in een DIV.

www.jurgroessen.nl