Dit betekent dat wanneer u het venster klikt, zal het verdwijnen als gevolg van de tweede en indirecte klik op het lichaam. Er is dus een probleem. We moeten onderscheid maken tussen het klikken op de BODY element alleen en te klikken op de ruit (en het lichaam in een volgorde). Het onclick attribuut van de ruit (buitenste DIV) is als volgt: onclick = "leftPaneShown = true" Dus toen de ruit wordt geklikt, de leftPaneShown variabele is ingesteld op true. Dit is een globale variabele in het script. Er is een functie die de ruit verwijderd.
Wanneer u de BODY element alleen klikt, wordt de functie opgeroepen. Wanneer u het venster klikt, wordt de functie pas na de bovenstaande verklaring (variabele) voor het onclick attribuut van de ruit (DIV) is ingesteld genoemd. Dit is de functie: functie removePane () {if (leftPaneShown == false) {x = document.getElementById ('Calc') style.left;. x = parseInt (x); TL = self.setInterval ("shiftLeft ()", 10); } //De leftPaneShown boolean variabele leftPaneShown reset = false; } De standaardwaarde voor de leftPaneShown variabele bovenstaande is vals.
De functie allereerst gecontroleerd of de variabele onwaar. Als het onwaar is dat betekent alleen het lichaam element is geklikt; het gaat om het paneel te verwijderen. Als het waar is het dat het paneel is geklikt. De ruit kreeg de klik voordat het lichaam. Zodat het paneel stelt u de variabele op true. Als het waar is, doet de if-statement in deze functie niet het paneel te verwijderen. De waarde van de variabele alleen waar wanneer het paneel wordt geklikt. Het moet altijd vals. Zodat de laatste regel van de functie stelt de waarde op false, of het waar is of niet was.
Als het waar was de gewenste actie (om de verwijdering te negeren) reeds heeft plaatsgevonden, zoals de functie werd genoemd. Als de variabele onwaar, de ruit moet worden verwijderd. Het eerste statement in de if-statement, wijst de CSS links huidige positie waarde aan de variabele, x. De volge