WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Behöver lite hjälp med JS och css... (https://www.wn.se/forum/showthread.php?t=1062359)

naak2803 2014-07-21 17:57

Behöver lite hjälp med JS och css...
 
Hej,

Jag lyckas inte lösa ett problem jag har.
Jag vill att när man har klickat på "login" så ska gråa rutan dyka upp (detta funkar)... men sen vill jag att om man klickar någonstans på sidan (vita delen) så ska denna ruta stängas (gråa) FÖRUTOM om man klickar på själva gråa rutan (då ska inget hända).

försökte göra det med onDocument men då tar den även med klicket på gråa rutan.

labba gärna här: http://jsfiddle.net/6f3X7/

Elactos 2014-07-21 18:49

Se detta svar: http://stackoverflow.com/a/2868645/397195

naak2803 2014-07-21 23:09

Citat:

Ursprungligen postat av Elactos (Inlägg 20495074)

tackar för den!

naak2803 2014-07-21 23:11

.dock har jag fastnat på en ny punkt...

fattar inte varför en funkar och inte den andra? det ända som skiljer mellan dessa två koder är att ena har länken utanför nav-tagen i mina ögon borde det inte spela någon roll, men tydligen gör ju det, så min fråga är varför?

alt 1. http://jsfiddle.net/VuR5p/
alt 2. http://jsfiddle.net/2VKdJ/

tec 2014-07-30 16:17

Citat:

Ursprungligen postat av naak2803 (Inlägg 20495086)
.dock har jag fastnat på en ny punkt...

fattar inte varför en funkar och inte den andra? det ända som skiljer mellan dessa två koder är att ena har länken utanför nav-tagen i mina ögon borde det inte spela någon roll, men tydligen gör ju det, så min fråga är varför?

alt 1. http://jsfiddle.net/VuR5p/
alt 2. http://jsfiddle.net/2VKdJ/

I den som fungerar, alt. 1, så stannar klicket(eventet) inne i #menuwrap - av event.stopPropagation();

I den som inte fungerar, alt. 2, så finns det inget som stoppar klicket från att nå $('html').click(function{$('#menucontainer').hide( );}); - i vilken #menucontainer är satt att döljas. Den fungerar egentligen som den ska, men i samma mikrosekund som #menucontainer togglas till synlig så döljs den av $('html').click(function{$('#menucontainer').hide( );});.

Vad event.stopPropagation(); gör är att hindra events från att sticka iväg längre upp i hierarkin.


Alla tider är GMT +2. Klockan är nu 07:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson