Wenn div nicht ausgeblendet ist, klicke irgendwo, um es zu verstecken [duplizieren]

8

Ich versuche, ein div standardmäßig ausgeblendet und durch Klicken auf eine Schaltfläche anzuzeigen. Um das div zu schließen, kann ich entweder auf die Schaltfläche oder irgendwo anders auf dem Bildschirm klicken. Unten ist mein Versuch, aber der schließende Teil funktioniert nicht. Ich schätze es, wenn mich jemand auf die richtige Implementierung oder vielleicht einen besseren Weg bringen kann.

%Vor%     
Poyi 12.06.2013, 05:41
quelle

5 Antworten

15

Wenn der gesamte Event-Handler in eine Bedingung gestellt wird, wird nur die Bedingung beim ersten Pageload überprüft, und der Event-Handler ist wahrscheinlich nie angefügt. Versuchen Sie es stattdessen wie folgt:

%Vor%

FIDDLE

    
adeneo 12.06.2013, 05:46
quelle
0

versuche es mit

if( !$('.theDiv' ).is( ':visible' ) )

statt

if ( !$('.theDiv:hidden') )

    
Prakash GPz 12.06.2013 05:58
quelle
0

probiere das

aus %Vor%     
sangram parmar 12.06.2013 06:06
quelle
0

Ich glaube nicht, dass Sie document mit einem .click -Handler wie diesem anvisieren können.

Anstatt es so zu machen, können Sie buchstäblich irgendwo klicken, um das DIV zu schließen, lassen Sie es einfach so aussehen. Setzen Sie ein klares DIV hinter das, das Sie schließen möchten, und decken Sie den gesamten Bildschirm ab. Dann können Sie Ihren Click-Handler daran anhängen.

HTML:

%Vor%

JavaScript:

%Vor%

CSS:

%Vor%

Zu Demonstrationszwecken habe ich den Hintergrund-DIV in dieser Geige

sichtbar gemacht     
user166560 12.06.2013 06:37
quelle
0

Probieren Sie das aus,

%Vor%     
Shinov T 12.06.2013 07:08
quelle

Tags und Links