Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops The Refactor Challenge

For loop to generate 10 random colours

Here is my solution with the for loop:

var html = '';
var rgbColor;


function colorGen () { 
  var generateColor = Math.floor(Math.random() * 256 );
  return generateColor;
}

for ( var i = 0; i < 10; i += 1) {
  rgbColor = 'rgb(' + colorGen() + ',' + colorGen() + ',' + colorGen() + ')';
  html += '<div style="background-color:' + rgbColor + '"></div>';
}
  document.write(html);
Matthew Long
Matthew Long
28,407 Points

Looks like you're only generating 9 colors. Change it to either i=0 or i <= 10. Looks good otherwise :smile:

2 Answers

Thank you for the tip :) hahaha I think I have forgotten to count, embarrassing mistake!

Matthew Long
Matthew Long
28,407 Points

Don't be embarrassed! I've done it countless times :joy:

Steven Parker
Steven Parker
231,268 Points

Is there some CSS that goes with this? Otherwise the div's don't take up any space and no color is seen.

Yes there is CSS as well

Steven Parker
Steven Parker
231,268 Points

But you only showed the JavaScript. :wink: