Feb 3, 2020
White Arrow icon
Back to all Elements

ToDo List

A todo list, created with JavaScript collected through the internet... ;)

This Todo list is a bit more complicated than my usual stuff... It includes ~40 lines of code and combines Variables, 'If' functions and other JavaScript elements.

<script>

$(document).ready(function () {

 $('form').submit(function() {

   return false;

 });

 function addTodoItem() {

   var todoItem = $("#new-todo-item").val();

   $("#list").append("<div class=" + "'list-group-item w-clearfix'" + "><div class=" + "'list-txt'" + "value='" + todoItem + "'>" + todoItem + "</div><div class=" + "'buttons-wrap'" + "><div class=" + "'todo-item-done'" + ">Done</div><div class=" + "'remove'" + ">x</div></div>");

     

   $("#new-todo-item").val("");

 }

 function deleteTodoItem(e, item) {

   e.preventDefault();

   $(item).parent().parent().fadeOut('slow', function() {

     $(item).parent().parent().remove();

   });

 }

 function completeTodoItem() {

   $(this).toggleClass("grey");

   $(this).parent().parent().toggleClass("done");

 }

 $(function() {

   $("#add-todo-item").on('click', function(e) {

     e.preventDefault();

     addTodoItem()

   });

 var input = document.getElementById("new-todo-item");

input.addEventListener("keyup", function(event) {

 if (event.keyCode === 13) {

   event.preventDefault();

   document.getElementById("add-todo-item").click();

 }

});

 

   $("#list").on('click', '.remove', function(e) {

     var item = this;

     deleteTodoItem(e, item)

   })

   $(document).on('click', ".todo-item-done", completeTodoItem)

 });

});

</script>

Copy

Preview:

browser mockup
Share:
Heart icon

Whenever possible, use Class Names to target the elements in your interaction. You never know when you'll need to duplicate and use it somewhere else...

Might also interest you:

Scaleable Vanilla JS Nested Tabs

JavaScript
Cloneable
Code

Nested tabs in an accordion template

Read more
Blue arrow iconWhite Arrow icon

Buttons Hover Interactions

Cloneable
Interactions

A small collection of buttons and hover interactions.

Read more
Blue arrow iconWhite Arrow icon

3d Video Slider (swiper.js)

Cloneable
CMS
JavaScript

A 3d slider with video items, plays and pauses on click & slide change.

Read more
Blue arrow iconWhite Arrow icon