Color Changing Background on Scroll
While working on a project (Weâll be announcing soon!), our design team wanted a nice color-changing background. Now, we know we could have used a static gradient, or simply faded between sections, but we thought it would be cool if the background changed as the user scrolled down the page, in a fixed manner. Usually when we meet a challenge like this, the first thing we do is check to see if anyone else has already done it, and in no time we found this jsfiddle: http://jsfiddle.net/cgspicer/V4qh9/. Itâs great, but we needed a bit more. The current version only supports fades between two colors so we forked the code and expanded on it a little bit.
Installing
If you'd like to use this method for your next project, youâll need jQuery, jquery.color-2.1.0.js, and the bits of HTML/CSS/JS included in this jsfiddle: http://jsfiddle.net/jguffey/mxkx9j2o/.
Make it your own.
In the fiddle, we use `<section>` elements to mark the content boundaries, but you can use any element you want by changing the selector on line 8, and the corresponding CSS and HTML. The array of strings in the call to `scrollColors` (line 16) is where we store the colors weâd like to transition to. Remember to change the CSS background-color property for body (our color-change target) to match the first element in this array, or youâll still get the bright pink color when the page first loads.
Thanks to the jQuery Color plugin, hex, rgb, and even rgba values are allowed. This can yield some cool effects when layered over an image or video. The alpha channel in RGBA is animated just like the other color channels, so you could have a sold color change opacity with scroll.
Enjoy!














