Kom ihåg mig?
Home Menu

Menu


window.setTimeout exekverar direkt... vet ej varför

 
Ämnesverktyg Visningsalternativ
Oläst 2010-04-24, 10:51 #1
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Standard window.setTimeout exekverar direkt... vet ej varför

Jag försöker skapa ett memory. När två är öppna samtidigt ska de stängas igen efter två sekunder. För att man ska kunna öppna andra under tiden så får de en status "pending" så att de särskiljs. Såhär ser koden ut:

Kod:
	this.find('li div').addClass(hidden).click(function() {
	
	$(this).removeClass(hidden).addClass('open');
		
	function hideit(el) {
		el.removeClass('pending').addClass(hidden);
	}
	
	if($('.open').length>1) {
	var el = $('.open');
	el.removeClass('open').addClass('pending');
	window.setTimeout(hideit(el), 2000);
	}

	});
Problemet är hideit(el) exekveras direkt. Alltså resultatet blir korrekt, men den väntar inte i två sekunder. Någon som ser vad problemet kan bero på?
Althalos är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 04:46.

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