|  | 
|  | 1 | +# 3D Boxes Grid with Numbers | 
|  | 2 | + | 
|  | 3 | +###### Summary for this project  | 
|  | 4 | +###### Purpose: Showcase JavaScript code manages a to-do list. | 
|  | 5 | + | 
|  | 6 | +**Link to work:** [3D Boxes Grid with Numbers](https://arduino731.github.io/JavaScript-Algorithms-and-Data-Structures/6project/) | 
|  | 7 | + | 
|  | 8 | +This project demonstrates key JavaScript concepts by creating an interactive 4x4 grid of boxes with animated styles and numbered overlays. A button allows toggling transformations (like a 3D flip effect), and each box is paired with a number, which updates its style dynamically. | 
|  | 9 | + | 
|  | 10 | +🧠 Key Concepts & Learning Outcomes | 
|  | 11 | +📦 DOM Manipulation | 
|  | 12 | +Use of document.createElement() to dynamically generate HTML elements. | 
|  | 13 | + | 
|  | 14 | +Manipulating classes via classList.add() and classList.toggle() to apply styles and transitions. | 
|  | 15 | + | 
|  | 16 | +Appending elements (appendChild) to parent containers efficiently. | 
|  | 17 | + | 
|  | 18 | +🧮 Algorithms / Logic | 
|  | 19 | +Nested for loops (i, j) simulate a 2D grid (matrix-like layout). | 
|  | 20 | + | 
|  | 21 | +Calculating box numbers via simple formula: outputNumber = i * 4 + j + 1 (demonstrates how indexing works). | 
|  | 22 | + | 
|  | 23 | +Mapping positions using backgroundPosition for image cropping or sprite sheet logic. | 
|  | 24 | + | 
|  | 25 | +🧱 Data Structures | 
|  | 26 | +Though basic, this project conceptually uses a 2D array pattern (i, j looping) to represent grid data. | 
|  | 27 | + | 
|  | 28 | +Encourages thinking in terms of layout structures and coordinate mapping. | 
|  | 29 | + | 
|  | 30 | +🎨 CSS & Styling | 
|  | 31 | +Flexbox is used for layout: .boxes and .boxes2 allow wrapping elements in rows and columns. | 
|  | 32 | + | 
|  | 33 | +Transitions and transformations (transform: rotateY, rotateZ) offer interactive 3D effects. | 
|  | 34 | + | 
|  | 35 | +Responsive changes are toggled via class changes (.big, .big2), simulating animation states. | 
|  | 36 | + | 
|  | 37 | +🚀 Interactivity | 
|  | 38 | +Button click toggles transformations and scaling of both background (#boxes) and numbers (#numbers), showcasing basic event-driven programming. | 
|  | 39 | + | 
|  | 40 | +Visually dynamic feedback teaches how styles and logic can work together. | 
|  | 41 | + | 
|  | 42 | +✅ What You Built | 
|  | 43 | +A 4x4 dynamic grid that can rotate and scale. | 
|  | 44 | + | 
|  | 45 | +Numbered overlay blocks that move in sync with background images. | 
|  | 46 | + | 
|  | 47 | +A modular, reusable way of thinking about grid-based interfaces. | 
0 commit comments