JS implementiert einen einfachen TodoList-Effekt (Notizblock)

JS implementiert einen einfachen TodoList-Effekt (Notizblock)

Das Notizblockprogramm wird mithilfe der drei wichtigsten Front-End-Frameworks HTML+CSS+JavaScript implementiert.

Implementierung der Grundfunktionen zum Hinzufügen, Abschließen und Löschen von Aufgaben im Notizblock.

Nachfolgend der vollständige Code des Programms:

1. Effektanzeige erzielen

2. HTML-Code

<Kopf>
  <meta charset="UTF-8">
  <Titel>Aufgabenliste</Titel>
//CSS-Datei importieren <link rel="stylesheet" href="todoList.css" >
</Kopf>
<Text>
<div Klasse="meinKopf">
   <h2>Meine ToDo-Liste</h2>
  <Tabelle>
    <tr>
      <td><input type="text" placeholder="Bitte geben Sie Ihre Aufgaben ein..." id="things"></td>
      <td> <span id="add" onclick="addElement()">hinzufügen</span></td>
    </tr>
  </Tabelle>
</div>
 
//Abschnitt „To-Do-Liste“, Inhalt wird dynamisch generiert<ul></ul>
 
<div Klasse="test2"></div>
</body>
<!--Fügen Sie das JavaScript-Element am Ende ein. Andernfalls ist der DOM-Baum bei der Ausführung von JavaScript noch nicht erstellt und es treten unerwartete Fehler auf-->
<script src="todoList.js" type="text/javascript"></script>
</html>

3. CSS-Code

@Schriftart {
  Schriftfamilie: 'Iconfont'; /* Projekt-ID 2680005 */
  Quelle: URL ('//at.alicdn.com/t/font_2680005_2v81j5og00f.woff2?t=1626424842361') Format ('woff2'),
  url('//at.alicdn.com/t/font_2680005_2v81j5og00f.woff?t=1626424842361') format('woff'),
  URL ('//at.alicdn.com/t/font_2680005_2v81j5og00f.ttf?t=1626424842361') Format ('TrueType');
}
 
Körper {
  Rand: 0;
  Polsterung: 0;
}
*{
  Box-Größe: Rahmenbox;
}
.meinKopf{
   Hintergrundfarbe: hellrosa;
   Textausrichtung: zentriert;
   Polsterung: 5px 0px 10px 0px;
   Farbe: Aliceblau;
 }
  Tisch{
  Rand: 0 automatisch;
}
 #Dinge{
   Breite: 180px;
   Höhe: 30px;
   Rahmenradius: 3px;
   Gliederung: keine;
   Rand: durchgehend 1 Pixel weiß;
 }
 #hinzufügen{
   Anzeige: Inline-Block;
   Breite: 80px;
   Höhe: 30px;
   Hintergrundfarbe: Gainsboro;
   Farbe: grau;
   Rahmenradius: 3px;
   Zeilenhöhe: 30px;
 }
  #hinzufügen:hover{
    Cursor: Zeiger;
    Hintergrundfarbe: dunkelgrau;
    Farbe: grau;
  }
ul{
  Rand: 0px;
  Polsterung: 0px;
}
  ul li{
    Listenstil: keiner;
    /*Textausrichtung: zentriert;*/
    Position: relativ;
    Polsterung links: 40px;
    Höhe: 40px;
    Zeilenhöhe: 40px;
  }
  ul li:n-tes-Kind(ungerade) {
  Hintergrundfarbe: #f9f9f9;
}
  ul li:hover{
  Cursor: Zeiger;
  Hintergrundfarbe: #dddddd;
}
 
  ul li.check{
  Hintergrundfarbe: #888888;
  Textdekoration: durchgestrichen;
  Farbe: #f9f9f9;
}
  ul li.check::before{
 
    Inhalt: '';
    Position: absolut;
    Rahmenfarbe: #fff;
    Rahmenstil: durchgezogen;
    Rahmenbreite: 0 2px 2px 0;
    oben: 10px;
    links: 16px;
 
    transformieren: drehen (45 Grad);
    Höhe: 15px;
    Breite: 7px;
}
.schließen{
  Position: absolut;
  rechts: 0px;
  oben: 0px;
  Polsterung: 0px 20px;
  Schriftgröße: 16px;
}
.schließen:hover{
  Hintergrundfarbe: #f44336;
  Farbe: weiß;
}

4. Javascript-Code

//1. Fügen Sie nach jedem Span einen Schließknoten hinzu var myNodelist = document.getElementsByTagName ("li")
 
für (var i=0;i<myNodelist.length;i++)
{
  var span = document.createElement("span");
 
  var txt = document.createTextNode("\u00D7");
 
  span.className="schließen";
  span.appendChild(txt);
  meineKnotenliste[i].appendChild(span);
 
}
 
//2. Löschereignis verarbeiten var close = document.getElementsByClassName("close")
für (var i=0;i<close.length;i++)
{
  schließen[i].onclick=function () {
    //parentElement bedeutet, den übergeordneten Elementknoten des aktuellen Knotens zurückzugeben var div = this.parentElement
    div.style.display="keine"
  }
}
 
//3. Verarbeiten des Taskabschlussereignisses var list = document.querySelector ("ul")
console.log(Liste)
list.addEventListener('klicken',Funktion (ev) {
//Das Attribut event.target kann verwendet werden, um eine Ereignisdelegierung zu implementieren, z. B. um ein Ereignis an ul zu binden, es kann jedoch ausgelöst werden, wenn auf li geklickt wird //tagName ist der Tag-Name des Elements, wenn (ev.target.tagName === 'LI')
{
  //Die Umschaltmethode wechselt zwischen hide() und show() für das ausgewählte Element. //classList führt die Arbeit an der Klasse des Elements weiter aus. ev.target.classList.toggle('check')
}
},FALSCH);
 
//4. Klicken Sie auf die Schaltfläche „Hinzufügen“ und fügen Sie der Listenfunktion addElement(){ einen Aufgabeneintrag hinzu.
  var Dinge = document.getElementById('Dinge').value
 
 // Alarm (localStorage.setItem("mutodolist",JSON.stringify(Dinge)))
 
  var li = document.createElement('li')
 
  var t = document.createTextNode(Dinge)
 
  wenn (Dinge == '')
  {
    alert("Bitte geben Sie die ausstehenden Ereignisse ein")
  }
  anders
  {
    list.anhängenKind(li)
    li.appendChild(t)
  }
 
  var span = document.createElement('span')
  var txt = document.createTextNode('\u00D7')
 
  span.className='schließen'
  span.appendChild(txt)
  li.appendChild(span)
 
  für (var i=0;i<close.length;i++)
  {
    schließen[i].onclick=function () {
      var div = dieses.übergeordnetesElement
      div.style.display="keine"
    }
  }
}

Beim Implementieren des Programms stellte ich fest, dass ich die Bedeutung einiger Codes verstand, aber als ich begann, sie selbst zu schreiben, fiel mir nicht ein, wie ich sie vervollständigen sollte.

Ich glaube, unterm Strich habe ich das Programmieren nicht genug geübt und kann aus dem Gelernten keine Rückschlüsse ziehen und es in mein eigenes Denken integrieren.

Wenn Sie nach dem Lesen dieses Artikels einen Notizblockeffekt erstellen möchten, empfiehlt es sich daher, den Code selbst einzugeben. Denn nur wenn Sie den Code selbst eingeben, können Sie erkennen, wo Mängel und Fehler liegen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Verwenden von Front-End-HTML+CSS+JS zum Entwickeln einer einfachen TODOLIST-Funktion (Notizblock)
  • Natives JavaScript zur Implementierung der To-Do-Liste-Funktion
  • Vue.js To-Do-Liste Implementierungscode
  • JavaScript-Beispiel für eine ODO-Listenanalyse

<<:  Häufige Szenarien und Vermeidungsmethoden für Indexfehler in MySQL

>>:  GZIP-Komprimierung Tomcat und Prozessdiagramm zur Verbesserung der Web-Leistung

Artikel empfehlen

Detaillierte Erläuterung der Datentypprobleme bei der JS-Array-Indexerkennung

Als ich ein WeChat-Applet-Projekt schrieb, gab es...

Detailliertes Tutorial zur Installation von MySQL 8.0.13 (rpm) auf Centos7

yum oder rpm? Die Yum-Installationsmethode ist se...

Implementierungsschritte zur Installation eines Redis-Containers in Docker

Inhaltsverzeichnis Redis auf Docker installieren ...

Beispielcode zur Implementierung von dynamischem Skinning mit vue+element

Manchmal kann das Thema eines Projekts nicht jede...

Vue implementiert das Umschalten des Anmeldetyps

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung der mobilen Postcss-pxtorem-Anpassung

Führen Sie den Befehl aus, um das Plugin postcss-...

Verwendung der Vue3-Tabellenkomponente

Inhaltsverzeichnis 1. Ant Design Vue 1. Offiziell...

Eine Aufzeichnung der Fallstricke des Lebenszyklus von WeChat-Applet-Komponenten

Der Komponentenlebenszyklus ist normalerweise der...

Lösung für das Verschwinden des MySql-Dienstes aus unbekannten Gründen

Lösung für das Verschwinden des MySql-Dienstes au...