Archief - JS: 2 keer klikken vooraleer JS actief is

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

killerbee

Legacy Member
Beste 9-livers,

Ik zit met een JavaScript-probleempje, het zit namelijk zo:
op http://wardniels.digitallink.be kunt u zien dat men zich kan aanmelden. Daarvoor moet men op Aanmelden klikken. Echter bij de eerste keer dat men de site bezoekt moet men 2 maal op Aanmelden klikken vooraleer de div eronder verschijnt. Eénmaal eens uitgeklapt, loopt alles goed.

Maar hoe komt het dat men bij het eerste bezoek 2 maal moet klikken vooraleer de JS actief wordt?
Kunnen jullie me helpen waar de fout zit? Ik heb reeds vanalles geprobeerd, maar blijkbaar helpt niets.

Grtz.

Lashknife

Legacy Member
heel eenvoudig, ge zegt het zelf in uw if statement
if (display css ding == "none") { maak het zichtbaar) }
else { maak het onzichtbaar; }

maw: hij maakt het eerst onzichtbaar vanwege de else, want de eerste keer is dat niet "none" in die condition, omdat je het niet expliciet gedeclareerd hebt, en dan is dat niet "none" of "block" of whatever, het is er gewoon niet, dus condition failed en dan assign je none dus vanaf dan bestaat het
2de klik -> ah tis none -> tonen die handel.

maw: in je css ook daadwerkelijk bij #aanmelden { display: none; } vermelden

killerbee

Legacy Member
ik denk dat je het niet echt goed begrijpt:

door op aanmelden te klikken (= div aanmelden) moeten de andere div's loginScreen_top en loginScreen getoond worden (div aanmelden staat dus NOOIT op display:none).

Smoerf

Legacy Member
ik denk dat jij de logica niet goed begrijpt die lashknife uitlegt...

Code:
       function login()
        {
            if (document.getElementById("loginScreen_top").style["display"]=="none")
            {
                document.getElementById("loginScreen_top").style["display"]="block";
                document.getElementById("loginScreen").style["display"]="block";
                document.getElementById("aanmeldknop").src="images/aanmeldknop.png";
            }
            else
            {
                document.getElementById("loginScreen_top").style["display"]="none";
                document.getElementById("loginScreen").style["display"]="none";
                document.getElementById("aanmeldknop").src="images/aanmeldknop_reverse.png";
            }
        }

Wat LashKnife probeert uit te leggen aan de hand van zijn voorbeeld is dat je if else omgekeerd moet staan...

killerbee

Legacy Member
ok, het probleem is opgelost.
Enorme dankjewel @Lashknife en Smoerf.
Thread mag dus gesloten worden :).

Toch nog even de code meeposten, mocht iemand hier nog iets mee zijn:
Code:
function login()
{
    if (document.getElementById("loginScreen_top").style.display=='block')
    {
        document.getElementById("loginScreen_top").style.display='none';
        document.getElementById("loginScreen").style.display='none';
        document.getElementById("aanmeldknop").src='images/aanmeldknop_reverse.png';
    }
    else
    {
        document.getElementById("loginScreen_top").style.display='block';
        document.getElementById("loginScreen").style.display='block';
        document.getElementById("aanmeldknop").src='images/aanmeldknop.png';
    }
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan