// Header child view (inside parent) var headerView = new Rectangle(260, 50); headerView.setColor("navy"); headerView.setPosition(parentView.getX() + 20, parentView.getY() + 20); add(headerView); This is the "nested" part. The text should sit inside the header view. Again, we calculate its position based on the header’s position.
// 5. Text nested inside Content var bodyText = new Text("This text is inside a nested view."); bodyText.setColor("#333333"); bodyText.setPosition(content.getX() + 15, content.getY() + 30); bodyText.setFont("12pt Arial"); add(bodyText);
var titleText = new Text("Dashboard"); titleText.setColor("white"); titleText.setPosition(headerView.getX() + 10, headerView.getY() + 30); titleText.setFont("16pt Arial"); add(titleText); Now, add a larger content view below the header. 2.3.9 nested views codehs
If you are working through the CodeHS Web Development curriculum (specifically the JavaScript or Graphics track), you have likely encountered the exercise 2.3.9: Nested Views . At first glance, this problem can seem daunting. You are asked to arrange visual elements inside other visual elements, manage coordinates, and keep everything responsive.
function start() { // 1. Parent View (the main container) var parent = new Rectangle(300, 400); parent.setPosition(100, 100); parent.setColor("#E0E0E0"); // Light gray parent.setBorderWidth(2); parent.setBorderColor("black"); add(parent); // 2. Nested Child 1: Header Bar var header = new Rectangle(260, 50); header.setColor("#4A90E2"); // Blue header.setPosition(parent.getX() + 20, parent.getY() + 20); add(header); // Header child view (inside parent) var headerView
// 3. Text nested inside Header var headerText = new Text("My App"); headerText.setColor("white"); headerText.setPosition(header.getX() + 15, header.getY() + 32); headerText.setFont("18pt Arial"); add(headerText);
function start() { // All your code goes here } Create a rectangle that acts as the main container. Give it a neutral background, like light gray, and a border so you can see its boundaries. At first glance, this problem can seem daunting
var infoText = new Text("Welcome to nested views!"); infoText.setColor("black"); infoText.setPosition(contentView.getX() + 10, contentView.getY() + 30); add(infoText); Here is the full, runnable solution. Copy and paste this into the CodeHS editor for 2.3.9.