To do list in JavaScript

In questa lezione realizzeremo una semplice to do list in JavaScript, un classico esercizio di JavaScript che permette di sperimentare i metodi appresi finora.

Per realizzare questo progetto infatti utilizzeremo alcuni metodi per manipolare il DOM in JavaScript.

Intanto provate il progetto che andremo a realizzare assieme inserendo una voce e cliccando poi sul pulsante add della figura sotto:

App To Do List

To do list in JavaScript – sviluppo del codice

Innanzitutto realizziamo il codice HTML del progetto.

Creiamo dunque una casella di input con un button e predisponiamo una lista dove appariranno tutti gli elementi che aggiungeremo a mano a mano.

  

Realizziamo poi del CSS a piacere per dare un tocco grafico, io ad esempio ho realizzato questo:



.container{
    background: #ff6676;
    padding: 30px;   
    display: flex;
    flex-direction: column;
}

.container h3{
    color: white;
    text-align: center;
    margin-bottom: 15px;
    height: auto;
}

form{
    display: flex;
    width: 100%;
}

.textInput{
    width: 100%;
    border: none;
    padding: 14px;
}

#add{
    width: 30%;
    cursor: pointer;
    background: #2c45a3;
    border: none;
    color: white;
    font-size: 18px;
}

ul#lists{
    display: flex;
    flex-direction: column;
    margin: 10px 0;
    list-style: none;
}

ul#lists li{
    padding: 12px;
    background: white;
    border: 1px solid #2c45a3;
    display:flex;
    justify-content: space-between;
}

.delete{
    padding: 10px;
    cursor: pointer;
    border: none;
    background: #ff6676;
    color: white;
}

Infine sviluppiamo il codice JavaScript necessario a far funzionare la nostra to do list:



const buttonAdd = document.getElementById('add');
const lists = document.getElementById('lists');
const textInput = document.querySelector('.textInput');

buttonAdd.addEventListener('click', generateList);

function generateList(event) {
    event.preventDefault();

    if (textInput.value === '') return;

    const li =  document.createElement('li');
    lists.appendChild(li);    
    li.appendChild(document.createTextNode(textInput.value));
    
    const buttonDelete = document.createElement('button');
    buttonDelete.className = 'delete';
    buttonDelete.appendChild(document.createTextNode('X'));    
    li.appendChild(buttonDelete);
    
    textInput.value = '';
    
    buttonDelete.addEventListener('click', (event) =>{
        const parentNodeEl = event.target.parentNode;
        setTimeout(() =>{
            parentNodeEl.remove();
        }, 500)
        
    });
         
}



Prima di tutto abbiamo controllato che la casella di input contenesse del testo ed in caso contrario si esce dalla funzione con un return. In questo modo, se la casella è vuota non si crea una lista.

Dopo, abbiamo utilizzato il metodo addEventListener per catturare il click dapprima sul pulsante add per aggiungere una voce nell’elenzo e poi sul pulsante delete per eliminare la voce corrispondente.

All’interno della funzione generateList abbiamo utilizzato i metodi createElement e createTextNode rispettivamente per creare dei tag necessari (li e button) ed aggiungere del testo.

Dopo aver aggiunto la voce svuotiamo la casella di input.

Conclusione

In questa lezione abbiamo sviluppato una semplice to do list in JavaScript, provate anche voi a svilupparne una e scrivete nei commenti sotto. Nelle prossime lezioni svilupperemo tanti altri progetti creativi.

Alcuni link utili

Indice tutorial JavaScript

Introduzione al tutorial JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Variabili in JavaScript

Gioco indovina numero in JavaScript

Gioco della morra cinese in JavaScript

Semplice quiz utilizzando gli array

Come realizzare il gioco dei dadi online

Continua la lettura su: https://www.codingcreativo.it/to-do-list-in-javascript/ Autore del post: Coding Creativo Fonte: https://www.codingcreativo.it

Articoli Correlati

DAL CNR IL VIDEOGAME PER INSEGNARE LA CYBERSECURITY AI RAGAZZI, 'NABBOVALDO E IL RICATTO DAL CYBERSPAZIO'

Grazie a Caldo Dutto per la segnalazione! Chiedo scusa per il ritardo del post, ma la mail era finita nello spam :)Un videogame educativo sulla cybersecurity, progettato con il CNR! In allegato le foto e un trailer qui: https://www.youtube.com/watch?v=YQy8pqol36cAl link www.youtube.com/watch?v=qeWx_nQXgdw una cronaca della presentazione a Cinecittà e una intervista alla dott.ssa Giorgia Bassi, curatrice del progetto.Presentato al RomeVideoGameLab, “Nabbovaldo e il ricatto dal cyberspazio”, videogioco per imparare la Cybersecurity.Il gaming in classe ora diventa didattica.Giocare a scuola sarà addirittura consigliato,grazie al Serious Game della Ludoteca del Registro.it, progetto in seno al CNRPresentato, in occasione del RomeVideoGameLab – quest’anno dedicata a “Umano e digitale” – il videogioco didattico “Nabbovaldo e il ricatto dal cyberspazio”, pensato per avvicinare gli alunni tra gli 11 e i 13 anni ai temi della cybersecurity e per migliorare i comportamenti nell’utilizzo della Rete. Una cronaca video della presentazione, realizzata da Giorgia Bassi e Beatrice Lami e che si è tenuta agli Studi di Cinecittà, al link www.youtube.com/watch?v=qeWx_nQXgdw. Un’avventura interattiva, tutta da giocare in aula: non una distrazione, ma anzi una best practice, quella di scaricare un’App e usare lo smartphone a scuola.Si tratta della nuova iniziativa della Ludoteca del Registro.it, che ha come obiettivo quello di diffondere la cultura di internet presso le giovani generazioni. La Ludoteca è un progetto del Registro.it, – l’organismo che, in seno all’Istituto di informatica e Telematica del Consiglio Nazionale delle Ricerche di Pisa, da oltre trent’anni anni assegna e gestisce i domini a targa italiana. Ambienti, mappe, dialoghi, scenari multipli sono i contenuti – validati dai ricercatori del CNR – alla base del videogame che ha l’obiettivo di approfondire, tra i bambini e i ragazzi, le conoscenze legate al Web e la sicurezza online. “Nabbovaldo e il ricatto dal cyberspazio” è stato pensato come strumento didattico per gli insegnanti e come mezzo di apprendimento per gli studenti. Attraverso le modalità tipiche del videogame, infatti, ha l’obiettivo di insegnare, in modo ironico e inconsueto, termini informatici, nozioni di base e comportamenti corretti per navigare. La sezione “Nabbopedia”, inoltre, fornisce un mini-dizionario con le definizioni di alcuni termini tecnici come Trojan, Firewall, Adware, Antivirus, Troll, Ransomware, Scandisk e Spyware. Il gioco, fruibile sia singolarmente che mentre si fanno lezioni e laboratori, genera un punteggio finale che evidenzia la conoscenza dell’utente sui pericoli di Internet, con una speciale attenzione a social network, virus, truffe online, file sharing e netiquette.Sviluppato in collaborazione con Symmaceo e Grifo Multimedia – e disponibile su App Store di Apple e Google Play – è ispirato al fumetto “Nabbovaldo contro i PC zombie”, della collana “Comics & Science” edita dal Cnr, dove il protagonista, un adolescente sempre online ma ingenuo nell’affrontare i pericoli del cyberspazio, si muove a Internetopoli, la città della Rete. Come si evince dal trailer, al link https://www.youtube.com/watch?v=YQy8pqol36c, il videogioco racconta di Nabbo, di professione tuttofare, coinvolto in un’avventura con al centro un Ramsomware (un malware che estorce denaro) che terrà sotto scacco l’intera città e dovrà indagare cercando una soluzione.Infine, per divulgare il videogame nelle scuole italiane è prevista una guida per genitori e insegnanti e una formazione per i docenti. Il gioco, infatti, oltre alla modalità “single-player”, prevede una versione desktop Windows e MacOS per l’utilizzo didattico in classe. La metodologia proposta dalla Ludoteca del Registro.it sarà inoltre quella della “flipped classroom”, ovvero il momento di confronto in classe come base per un apprendimento attivo e collaborativo, ma anche con il coinvolgimento di studenti degli istituti superiori nel ruolo di “tutor” per gli alunni delle scuole di ordine inferiore.Per maggiori informazioni:www.ludotecaregistro.it/il-videogioco-nabbovaldo/ludoteca@registro.itwww.instagram.com/ludotecadelregistro.it/www.facebook.com/LudotecaRegistrowww.youtube.com/channel/UCQvCwo8lOHfe–od7f2TIpQ

Vuoi rimanere aggiornato sulle nuove tecnologie per la Didattica e ricevere suggerimenti per attività da fare in classe?

Sei un docente?

soloscuola.it la prima piattaforma
No Profit gestita dai

Volontari Per la Didattica
per il mondo della Scuola. 

 

Tutti i servizi sono gratuiti. 

Associazione di Volontariato Koinokalo Aps

Ente del Terzo Settore iscritta dal 2014
Tutte le attività sono finanziate con il 5X1000