This project demonstrates the integration of HTML, CSS, and JavaScript to create interactive and dynamic web applications. It covers a variety of exercises and examples, including DOM manipulation, event handling, dynamic content creation, and more.
Each folder within this project contains specific exercises or examples, organized by functionality, to help understand and practice core web development concepts.
The project has the following folder structure, designed for easy navigation and modularity:
html-css-js-Integration/
βββ css/ # Global stylesheets π¨
β βββ menu.css # Navigation menu styles
β βββ style.css # Main stylesheet
βββ elevator/ # Elevator simulation example π’
β βββ css/
β β βββ style.css # Styles for the elevator simulation
β βββ index.html # Main HTML file for the elevator simulation
β βββ js/
β βββ building.js # JavaScript for building the elevator
β βββ street.js # JavaScript for street interactions
βββ events/ # Event handling examples β³
β βββ events_1.html # Example of mouse events
β βββ events_2.html # Example of keyboard events
β βββ events_3.html # Example of form events
β βββ events_4.html # Example of custom events
β βββ events_5.html # Example of event delegation
β βββ index.html # Overview of event handling examples
β βββ windows_tips.html # Tips for managing window events
βββ image/ # Images used throughout the project πΌοΈ
β βββ logo-estreita.png # Logo used in some pages
βββ js/ # JavaScript examples π»
β βββ element_by_id_02.js # Example of DOM manipulation by ID
βββ modify/ # Exercises on modifying HTML content π
β βββ challenge.html # Challenge for DOM manipulation
β βββ creating_html_1.html # Example of creating HTML elements
β βββ creating_html_2.html # Another example of creating elements
β βββ index.html # Overview of modification exercises
βββ select/ # DOM selection techniques π
βββ accessing_classes.html # Selecting by class name
βββ attributes_1.html # Accessing element attributes
βββ attributes_2.html # Modifying element attributes
βββ attributes_3.html # More examples of attributes manipulation
βββ challenge.html # Challenge for practicing element selection
βββ element_by_id_02.html # Selecting by ID
βββ element_by_name.html # Selecting by name attribute
βββ element_by_tag.html # Selecting by tag name
βββ elements_by_class.html # Selecting multiple elements by class
βββ elements_by_id_01.html # Selecting multiple elements by ID
βββ index.html # Overview of selection techniques
βββ query_elements_1.html # Using querySelector for selection
βββ query_elements_2.html # Using querySelectorAll for selection
βββ query_elements_3.html # Advanced selection techniques
## Features π
This project demonstrates several key features of web development:
- **Elevator Simulation**: A fully interactive simulation of an elevator system using HTML, CSS, and JavaScript π’
- **Event Handling**: Practical examples of handling various browser events, including mouse, keyboard, and custom events π±οΈβ¨οΈ
- **DOM Manipulation**: Various examples of selecting and manipulating DOM elements, such as modifying attributes, creating elements, and changing styles dynamically π§
- **Dynamic Content Creation**: Exercises focused on dynamically generating HTML content and modifying the DOM based on user interactions π
- **Responsive Design**: Styles and layout adjustments that ensure the project works well on both desktop and mobile devices π±π»
---
## Usage βοΈ
To use this project, follow these steps:
1. **Clone the repository**:
```bash
git clone https://github.com/saleh-coder/html-css-js-Integration.git
```
2. **Navigate to the project directory**:
```bash
cd html-css-js-Integration
```
3. **Open the index.html file** in your browser to view the main page, or open any of the other HTML files in their respective folders to view specific examples.
4. You can modify the `js/` or `css/` files to experiment with changes and see the effects on the project.
---
## How to Contribute π€
We welcome contributions to this project! To contribute:
1. Fork the repository by clicking the "Fork" button at the top of this page.
2. Create a new branch for your feature or fix:
```bash
git checkout -b feature-name
```
3. Make your changes and commit them:
```bash
git commit -am 'Add new feature'
```
4. Push your changes to your fork:
```bash
git push origin feature-name
```
5. Open a Pull Request with a clear description of what youβve done and why.
---
## Best Practices π
This project follows several best practices to ensure readability, maintainability, and collaboration:
- **Separation of Concerns**: HTML, CSS, and JavaScript are kept in separate files and folders for better organization and modularity.
- **Modular JavaScript**: JavaScript code is split into different files based on functionality, making it easier to maintain and extend.
- **Clean and Readable Code**: The code is written with a focus on readability, using descriptive variable names, comments, and consistent indentation.
- **Documentation**: Each feature and folder is well-documented, and this README provides a clear overview of the project structure and usage.
---
## License π
This project is licensed under the MIT License. See the LICENSE file for more details.