Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Progetto Scolastico Versione 12New to Visual Studio Code? Get it now.
Progetto Scolastico Versione 12

Progetto Scolastico Versione 12

Sintoo

|
2 installs
| (0) | Free
Relazione Esercizi Informatica
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Relazione Esercizi di Informatica



## 🍣 FORMULARIO — SUSHI JOY | HTML · CSS · JAVASCRIPT 

### 🟠 HTML 

COLLEGARE CSS E JS ```html
<link rel="stylesheet" href="style.css"> 
<script src="script.js"></script> 

⚠ Il tag <script> va messo sempre alla fine del <body>!

INPUT (TUTTI I TIPI) ```html

(Tipi: text, number, url, email)* *⚠ NON usare `<form action="...">`, gestisci tutto tramite JavaScript.

TAG UTILI NELLE CARD ```html
<img src="https://google.com/url" alt="desc"> 
<h3> <p> <button> <div> 

TEMPLATE LITERAL (JavaScript) ```javascript Ciao ${variabile}! Prezzo: €${obj.prezzo}

Usa i backtick ` e ${ } per inserire variabili JS nelle stringhe.

---

### 🔵 CSS 

FLEXBOX — CONTENITORE ```css
display: flex; 
flex-wrap: wrap; 
justify-content: center; 
align-items: center; 
gap: 16px; 

GRID — CONTENITORE ```css display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;


STILE CARD ```css
border-radius: 10px; 
box-shadow: 0 2px 8px #0002; 
padding: 12px; 
width: 200px; 

IMMAGINE NELLA CARD ```css width: 100%; height: 130px; object-fit: cover;

(Ritaglia senza deformare l'immagine)

---

### ⚡ JAVASCRIPT 

SELEZIONARE & LEGGERE ```javascript
document.querySelector("#id / .classe") 
input.value // legge stringa 
parseFloat(n.value) // legge numero 

EVENTO CLICK ```javascript el.addEventListener("click", function() { // codice... });


CREARE & AGGIUNGERE ELEMENTO ```javascript
let el = document.createElement("div"); 
el.innerHTML = "<p>Testo</p>"; 
padre.appendChild(el); 
padre.innerHTML = ""; // svuota il contenitore

ARRAY DI OGGETTI ```javascript let cards = []; const obj = { nome: "...", prezzo: 0 }; cards.push(obj); // aggiunge cards.forEach(c => { }); // itera cards = cards.filter(c => c !== obj); // rimuove

LISTA SPESA

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lista della spesa</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js" defer></script>
</head>
<body>
    <div class="aggiungiNuoviElementi">
        <h1>Lista della spesa</h1>
        <div class="interruzione"></div>
        <form action="">
            <input type="text" id="elemento" placeholder="Inserisci un nuovo elemento alla lista">
            <input type="button" value="Aggiungi" onclick="aggiungi()">
        </form>
    </div>

    <h1>Lista</h1>
    <div class="pulsanti">
        <button id="rimuoviLista" onclick="svuotaLista()">Svuota Lista</button>
        <button id="rimuoviComprati" onclick="rimuoviComprati()">Rimuovi elementi comprati</button>
    </div>
    <ul id="lista"></ul>
</body>
</html>

CSS

.aggiungiNuoviElementi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 15px;
    border: 2px solid black;
    margin: 0 auto;
}

.aggiungiNuoviElementi h1 { margin: 0; }
.interruzione { width: 100%; }

#elemento {
    width: 300px;
    height: 40px;
    font-size: 17px;
}

body { text-align: center; }

button, input[type="button"] {
    font-size: 16px;
    padding: 10px;
    margin: 5px;
}

#lista {
    list-style-type: none;
    padding: 0;
}

li {
    font-size: 20px;
    margin: 15px;
}

JavaScript

let contatore = 0;

function aggiungi(){
    let testo = document.getElementById("elemento").value;
    if (testo == ""){
        alert("Inserisci un oggetto valido");
        return;
    }

    let nuovoElemento = document.createElement("li");
    nuovoElemento.textContent = testo + "  ";
    nuovoElemento.id = "elemento" + contatore;
    nuovoElemento.addEventListener("click", segna);
    
    let bottoneRimuovi = document.createElement("button");
    bottoneRimuovi.textContent = "Rimuovi";
    bottoneRimuovi.addEventListener("click", rimuovi);
    
    document.getElementById("lista").appendChild(nuovoElemento);
    nuovoElemento.appendChild(bottoneRimuovi);
    document.getElementById("elemento").value = "";
    contatore++;
}

function segna(){
    if (this.style.textDecoration != "line-through"){
        this.style.textDecoration = "line-through"
    } else{
        this.style.textDecoration = "none";
    }
}

function rimuovi(){
    let li = this.closest("li");
    li.remove();
}

function svuotaLista(){
    document.getElementById("lista").innerHTML = "";
}

function rimuoviComprati() {
    let elementi = document.querySelectorAll("#lista li");
    for (let i = 0; i < elementi.length; i++) {
        if (elementi[i].style.textDecoration === "line-through") {
            elementi[i].remove();
        }
    }
}


SUSHI JOI

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sushi Joy</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js" defer></script>
</head>
<body>
    <div class="input">
        <h1>Sushi Joy</h1>
    <form id="formuccio">
        <label for="nome">Nome: </label>
        <input type="text" id="nome" placeholder="Come si chiama?">
        <br>
        <label for="descrizione">Descrizione:</label>
        <input type="text" id="descrizione" placeholder="Piccola descrizione">
        <br>
        <label for="urlImg">URL immagine:</label>
        <input type="text" id="urlImg" placeholder="URL immagine">
        <br>
        <label for="prezzo">Prezzo:</label>
        <input type="number" id="prezzo" placeholder="Quanto costa?">
        <br>
        <button type="submit" id="invio">Aggiungi</button>
    </form>
    </div>
    
    <div class="card" id="contenitore"></div>
</body>
</html>

JavaScript

const form = document.querySelector("#formuccio");
const nome = document.querySelector("#nome");
const descr = document.querySelector("#descrizione");
const urlImg = document.querySelector("#urlImg");
const prezzo = document.querySelector("#prezzo");
const contenitore = document.querySelector("#contenitore");

let array = [];

form.addEventListener("submit", () => {
    event.preventDefault();
    const elemento = {
        nome : nome.value,
        descrizione : descr.value,
        urlImmagine : urlImg.value,
        prezzo : Number(prezzo.value),
        elimina : false,
    }

    array.push(elemento);
    const cont2 = document.createElement("div");
    cont2.classList.add("icon");

    const titolo1 = document.createElement("h3");
    titolo1.textContent = elemento.nome;

    const titolo2 = document.createElement("p");
    titolo2.textContent = "Descrizione: " + elemento.descrizione;

    const immagine = document.createElement("img");
    immagine.src = elemento.urlImmagine

    const price = document.createElement("p");
    price.textContent = elemento.prezzo + "$";

    const bottone = document.createElement("button");
    bottone.textContent = "Rimuovi"

    bottone.addEventListener("click", () => {
        elemento.elimina = true;
        array = array.filter(p => !p.elimina);
        cont2.remove();
    })

    cont2.appendChild(immagine);
    cont2.appendChild(titolo1);
    cont2.appendChild(price);
    cont2.appendChild(titolo2);
    cont2.appendChild(bottone);

    contenitore.appendChild(cont2);
    form.reset();
})

CSS

 .input{
    padding: 20px;
    margin: auto;
    display: flex;
    flex-direction: column;
    width: 200px;
}

.icon{
    border-width: 5px;
    margin: 20px;
}

#formuccio{
    padding: 20px;
    margin: auto;
    display: flex;
    flex-direction: column;
    width: 200px;
}

.card{
    display: flex;
    padding: 20px;
}


  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft