Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS] Fade script -> FF fout

Pagina: 1
Acties:
  • 393 views sinds 30-01-2008

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Hey,

Ik heb net een bericht gepost voor een fade script, maar deze werd gesloten, waar ik overigens wel in kan komen.

Nu heb ik onderstaand script welke perfect werkt in IE7.0 maar niet Firefox 2.0.0.6.

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
function FoldMenu() {
    state = document.getElementById("c_options").style.display;
    if(state == "none") {
        document.getElementById("c_options").style.display = "block";
        goFade = 0;
        goFadeIn();
    }
    else {
        goFade = 100;
        goFadeOut();
    }
}

function goFadeIn() {
    main = document.getElementById("c_options");
        main.filters.alpha.opacity = goFade;
    goFadeMoz = goFade / 100;
    main.style.MozOpacity = goFadeMoz;
    main.style.KhtmlOpacity = goFadeMoz;
    main.style.opacity = goFadeMoz;
        goFade = goFade+5;
    goIn = setTimeout("goFadeIn()", 30);
        if(goFade >= 100) {
            clearTimeout(goIn);
            goFade = 0;
        }
}

function goFadeOut() {
    maino = document.getElementById("c_options");
        maino.filters.alpha.opacity = goFade;
        goFade = goFade-5;
    goFadeMoz = goFade / 100;
    maino.style.MozOpacity = goFadeMoz;
    maino.style.KhtmlOpacity = goFadeMoz;
    maino.style.opacity = goFadeMoz;
        goIn = setTimeout("goFadeOut()", 30);
        if(goFade <= 0) {
            clearTimeout(goIn);
            goFade = 0;
        maino.style.display = "none";
        }
}


Weet iemand waardoor dit script niet werkt in Firefox, want ik kom er echt niet uit :(.

Alvast bedankt.

[ Voor 9% gewijzigd door radem205 op 22-08-2007 11:05 ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
waarom doe je zo verschrikkelijk vaak 'document.getElementById("c_options")'
efficienter is om het even in een lokale var op te slaan. (en nog leesbaarder ook)

verder heb je natuurlijk al gekeken of goFadeMoz wel de goede waarde heeft? (dus iets tussen 1 en 0)

This message was sent on 100% recyclable electrons.


  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Ja ik heb ff een 'alert(goFadeMoz);' gedaan en die krijgt de goede waardes (0.05 - 1.0 mee).

Ik zal de code even vereenvoudigen idd.

Edit: Het probleem is dat ie in FF de div in één keer laat zien en daarna niet meer weg gaat wanneer ik op de desbetreffende link klik.

[ Voor 34% gewijzigd door radem205 op 22-08-2007 11:05 ]


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

En wat zegt je error console?

Bij mij zegt hij Error: maino.filters has no properties ..... Mischien moet je kijken wat main.filters.alpha.opacity = goFade; is en of dat daadwerkelijk iets is wat bestaat. Waarschijnlijk niet :)

disjfa - disj·fa (meneer)
disjfa.nl


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
en geeft de JS console niet ergens een foutmelding? *hint* ;)


edit:
grr @ hierboven ;)

[ Voor 33% gewijzigd door BasieP op 22-08-2007 11:15 ]

This message was sent on 100% recyclable electrons.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

De filters property is IE-propietair. Een niet bestaande property aanspreken resulteert in een javascript error. Je zal dus moeten checken of de filters property wel bestaat en op basis daarvan moeten branchen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
if (main.filters)
{
    main.filters.alpha.opacity = goFade;
}
else
{
    var goFadeMoz = goFade / 100;
    main.style.MozOpacity = goFadeMoz;
    main.style.KhtmlOpacity = goFadeMoz;
    main.style.opacity = goFadeMoz;
}


Voortaan dus eerst je javascript console openen ;)

[ Voor 5% gewijzigd door crisp op 22-08-2007 11:17 ]

Intentionally left blank


  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Harstikke bedankt iedereen. Is de javascript console een programma die je moet hebben, want dat snap ik niet helemaal :p

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Gewoon in je menubalk van FF.

Tools -> Error console

disjfa - disj·fa (meneer)
disjfa.nl


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
en als je wat meer wilt doen met JS, en daarbij moet debuggen (en dat moet meestal wel) dan zou ik firebug installeren.
Dit is een extentie die je breakpoints laat zetten in code, en zo zorgt dat je ECHT in staat bent te debuggen.

This message was sent on 100% recyclable electrons.


  • André
  • Registratie: Maart 2002
  • Laatst online: 27-11 10:04

André

Analytics dude

En dicht. Dit soort zaken zul je eerst zelf moeten oplossen. Gewoon een script posten met de vraag: "wat gaat er fout", is niet de bedoeling.
Pagina: 1

Dit topic is gesloten.