日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

任务发布页面html,HTML5 Todo List(待办事项/任务列表管理界面)

發布時間:2024/10/8 HTML 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 任务发布页面html,HTML5 Todo List(待办事项/任务列表管理界面) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript

語言:

JaveScriptBabelCoffeeScript

確定

var taskInput = document.getElementById("new-task");

var addButton = document.getElementsByTagName("button")[0];

var incompleteTasksHolder = document.getElementById("incomplete-tasks");

var completedTasksHolder = document.getElementById("completed-tasks");

//New Task List Item

var createNewTaskElement = function(taskString) {

//Create List Item

var listItem = document.createElement("li");

//input (checkbox)

var checkBox = document.createElement("input");

//label

var label = document.createElement("label");

//input (text)

var editInput = document.createElement("input");

//button.edit

var editButton = document.createElement("button");

//button.delete

var deleteButton = document.createElement("button");

//Each element, needs modifying

checkBox.type = "checkbox";

editInput.type = "text";

editButton.innerText = "Edit";

editButton.className = "edit";

deleteButton.innerText = "Delete";

deleteButton.className = "delete";

label.innerText = taskString;

//Each elemts need appending

listItem.appendChild(checkBox);

listItem.appendChild(label);

listItem.appendChild(editInput);

listItem.appendChild(editButton);

listItem.appendChild(deleteButton);

return listItem;

}

//Add a new task

var addTask = function() {

console.log("Add task");

// When button is pressed

// Create new list item with the text from the new task

var listItem = createNewTaskElement(taskInput.value);

//Append listItem to incompleteTasksHolder

if (taskInput.value.length > 0) {

incompleteTasksHolder.appendChild(listItem);

bindTaskEvents(listItem, taskCompleted);

taskInput.value = "";

}

}

// Edit an existing task

var editTask = function() {

console.log("Edit task");

var listItem = this.parentNode;

var editButton = this;

var editInput = listItem.querySelector("input[type=text]");

var label = listItem.querySelector("label");

var containsClass = listItem.classList.contains("editMode");

//if the class of the parent is .editMode

if (containsClass) {

//Switch from .editMode

//Label text become input's (text) value

label.innerText = editInput.value;

editButton.innerText = "Edit";

} else {

//switch to .editMode

//input (text) value becomes label's text

editInput.value = label.innerText;

editButton.innerText = "Save";

}

//Toggle .editMode on the li

listItem.classList.toggle("editMode");

}

// Delete and existing task

var deleteTask = function() {

console.log("Delete task");

var listItem = this.parentNode;

var ul = listItem.parentNode;

//Remove the parent

from ul

ul.removeChild(listItem);

}

// Mark a task a task as complete

var taskCompleted = function() {

console.log("Task complete");

//Append the task li to the #completed-tasks

var listItem = this.parentNode;

completedTasksHolder.appendChild(listItem);

bindTaskEvents(listItem, taskIncomplete);

}

// Mark a task as incomplete

var taskIncomplete = function() {

console.log("Task incomplete");

//Append the task li to #incomplete-tasks

var listItem = this.parentNode;

incompleteTasksHolder.appendChild(listItem);

bindTaskEvents(listItem, taskCompleted);

}

var bindTaskEvents = function(taskListItem, checkBoxEventHandler) {

console.log("Bind list item events");

//select taskListItems's children

var checkBox = taskListItem.querySelector("input[type=checkbox]");

var editButton = taskListItem.querySelector("button.edit");

var deleteButton = taskListItem.querySelector("button.delete");

//bind editTask to edit button

editButton.onclick = editTask;

//bind deleteTask to the delete button

deleteButton.onclick = deleteTask;

//bind checkboxEventHandler to the checkbox

checkBox.onchange = checkBoxEventHandler;

}

//Set the click handler to the addTask function

addButton.addEventListener("click", addTask);

//cycle over incompleteTasksHolder ul list items

for (var i = 0; i < incompleteTasksHolder.children.length; i++) {

//bind events to list item's children (taskCompleted)

bindTaskEvents(incompleteTasksHolder.children[i], taskCompleted);

}

//cycle over completedTasksHolder ul list items

for (var i = 0; i < completedTasksHolder.children.length; i++) {

//bind events to list item's children (taskIncomplete)

bindTaskEvents(completedTasksHolder.children[i], taskIncomplete);

}

總結

以上是生活随笔為你收集整理的任务发布页面html,HTML5 Todo List(待办事项/任务列表管理界面)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。