Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. document.addEventListener("DOMContentLoaded", function () {
  2. var todo = Object.create(null);
  3.  
  4. todo.newTodo = function (evt) {
  5. evt.preventDefault();
  6. var newTodo = document.getElementById("todo-item").value;
  7. var ul = document.getElementById("todo-view");
  8. var li = document.createElement("li");
  9. li.innerHTML = newTodo + '<span>x</span>';
  10.  
  11. //using tertnary operator to add items to top of list if other items already exist
  12. (ul.childElementCount == 0) ? ul.appendChild(li) : ul.insertBefore(li, ul.firstChild);
  13.  
  14. document.getElementById('todo-item'). value = "";
  15.  
  16. var span = li.getElementsByTagName("span");
  17.  
  18. span[0].addEventListener("click", todo.deleteTodo, false);
  19. }
  20.  
  21. var todoCache = [];
  22.  
  23. todo.deleteTodo = function () {
  24. todoCache.push(this.parentNode);
  25.  
  26. console.log(todoCache);
  27.  
  28. this.parentNode.parentNode.removeChild(this.parentNode);
  29.  
  30. return todoCache;
  31. }
  32.  
  33. todo.undoDelete = function () {
  34. var ul = document.getElementById("todo-view");
  35.  
  36. if (todoCache.length > 0 ) {
  37. var lastTodo = todoCache.length - 1;
  38.  
  39. ul.appendChild(todoCache[lastTodo]);
  40.  
  41. todoCache.pop();
  42. }
  43. }
  44.  
  45. var todoSub = document.getElementById("submit-item");
  46.  
  47. todoSub.addEventListener("click", todo.newTodo, false);
  48.  
  49. var undo = document.getElementById('undo');
  50.  
  51. undo.addEventListener("click", todo.undoDelete, false);});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement