---
title: "Byta bakgrundsfärg 2 gånger med jQuery"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/188187-byta-bakgrundsfärg-2-gånger-med-jquery"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "ramo_and"
published: "2011-11-02T11:06:55.000Z"
updated: "2011-11-02T12:48:59.000Z"
replies: 4
views: 441
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/188187-byta-bakgrundsfärg-2-gånger-med-jquery"
---

# Byta bakgrundsfärg 2 gånger med jQuery

## #1 — ramo_and, 2011-11-02T11:06Z

Tjo!

Jag vill göra en enkel grej med jQuery när en vara läggs i varukorgen på min sida. Det som skall hända är att varukorgen ändrar färg till en lite mörkare och sen tillbaka till originalfärgen. Min kod för detta ser ut såhär:

```
	var urlHash = window.location.hash;
		if (typeof urlHash !=="undefined" && urlHash == "#addedtocart")
		{
			window.location.hash = "added";

			$(".object_linkbasket").attr('style', 'background: #222').delay(4000).attr('style', 'background: #eee').delay(4000);
		}
```

Det funkar inte till 100%. Det som inte funkar är bytet tillbaka (bakgrundsfärgen).

Detta funkar:

```
	var urlHash = window.location.hash;
		if (typeof urlHash !=="undefined" && urlHash == "#addedtocart")
		{
			window.location.hash = "added";

			$(".object_linkbasket").attr('style', 'background: #222').delay(4000)
		}
```

Hur löser jag detta?

Permalänk: https://www.webforum.nu/p/188187

## #2 — voigtann1, 2011-11-02T11:36Z

antingen få du ta reda på vad orginalbakgrunden är innan du byter den eller om det bara är style background på ditt element så ta du .removeAttr("style") på $(".object_linkbasket")

.delay vet jag inte riktigt om det hjälper för det är väl bundet för effects, vilket inte händer i din jQuery kod alls.

Permalänk: https://www.webforum.nu/p/2287978

## #3 — ramo_and, 2011-11-02T11:49Z

Menar du såhär: 

```
	var urlHash = window.location.hash;
		if (typeof urlHash !=="undefined" && urlHash == "#addedtocart")
		{
			window.location.hash = "added";

			$(".object_linkbasket").attr('style', 'background: #222').delay(4000).removeAttr('style').delay(4000);
		}
});
```

Detta funkar inte.. 

Originalbakgrunden är #eee. Anledningen till att jag har med delay är att jag vill att det ska ta 4 s innan effekten startar och sedan 4 s innan originalbakgrunden kommer tillbaka.

Permalänk: https://www.webforum.nu/p/2287981

## #4 — voigtann1, 2011-11-02T12:05Z

Läs: <http://api.jquery.com/delay/>

> The .delay() method is best for delaying between queued jQuery effects. Because it is limited&#8212;it doesn't, for example, offer a way to cancel the delay&#8212;.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.

 Du har inga jquery effects i din kod, därför kan inte delay fungera.

<http://jsbin.com/ibakup/edit#javascript,html,live>

Permalänk: https://www.webforum.nu/p/2287986

## #5 — ramo_and, 2011-11-02T12:48Z

Tack så mycket! funkar fint :)

Permalänk: https://www.webforum.nu/p/2287991

---

Tråden på webben: https://www.webforum.nu/amne/javascript/188187-byta-bakgrundsfärg-2-gånger-med-jquery
