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 trialBrok Sorensen
1,578 PointsWhat am i doing wrong? This is supposed to output 10 colored circles to the web page but nothing shows up. Whats wrong?
var html = ''; var red; var green; var blue; var rgbColor; var counter=1;
function randColor (){ return Math.floor(Math.random() * 256 ); }
while (counter<=10){ red = randColor; green = randColor; blue = randColor; rgbColor = 'rgb(' + red + ',' + green + ',' + blue + ')'; html += '<div style="background-color:' + rgbColor + '"></div>'; counter +=1; }
document.write(html);
1 Answer
Steven Parker
231,236 PointsAs Robert said, you need to call the function instead of just naming it:
red = randColor();
green = randColor();
blue = randColor();
And to see the output as circles, you also need some CSS code. None is shown here, do you have it?
If not, this won't make circles but at least you can see the colors as stripes:
html += '<div style="background-color:' + rgbColor + ';min-height:1em"></div>';
robertmaiolo
7,946 Pointsrobertmaiolo
7,946 Pointswhen you're assigning variables such as 'red=randColor;' you're not calling it as a function, so it's returning the expression rather than the result.
Also, you should set some styles to make the divs visible when they are added to the document, in this case they have neither height nor width