Javascript Todolist 类别 if else 语句

标签 javascript oop

您好,我不知道如何为我的待办事项列表添加类别。当您单击类别按钮时需要更改类名称。我不明白如何在单击按钮时正确编写 if/else 语句。

计划它如何运作

  1. 写下任务名称
  2. 选择类别
  3. 添加新任务

也许有人可以帮助我或提供一些如何解决这个问题的建议!

抱歉我的英语不好,如果我的问题解释得很糟糕!

var toDoList = function() {

  var addNewTask = function() {
      var input = document.getElementById("taks-input").value,
        itemTexts = input,
        colA = document.getElementById('task-col-a').children.length,
        colB = document.getElementById('task-col-b').children.length,
        taskBoks = document.createElement("div"),
        work = document.getElementById("work"),
        Category = "color-2",
        taskCount = 1;

      if (work.onclick === true) {
        var Category = "color";
      }
      taskBoks.className = "min-box";
      taskBoks.innerHTML = '<div class="col-3 chack" id="task_' + (taskCount++) + '"><i class="fa fa-star"></i></div><div class="col-8 task-text" id="taskContent"><p>' + itemTexts + '</p><span id="time-now"></span></div><div class="col-1 ' + (Category) + '"></div>'

      if (colB < colA) {
        var todolist = document.getElementById("task-col-b");
      } else {
        var todolist = document.getElementById("task-col-a");
      }
      //todolist.appendChild(taskBoks);
      todolist.insertBefore(taskBoks, todolist.childNodes[0]);
    },
    addButton = function() {
      var btn2 = document.getElementById("add-task-box");
      btn2.onclick = addNewTask;

    };

  addButton()
}
toDoList();
p {
  padding: 20px 20px 20px 45px;
}
.chack {
  background-color: #4c4b62;
  height: 100%;
  width: 40px;
}
.task-text {
  background-color: #55566e;
  height: 100%;
  width: 255px;
}
.color {
  width: 5px;
  height: 100%;
  background-color: #fdcd63;
  float: right;
}
.color-2 {
  width: 5px;
  height: 100%;
  background-color: red;
  float: right;
}
.color-3 {
  width: 5px;
  height: 100%;
  background-color: purple;
  float: right;
}
.task {
  height: 100px;
  width: 300px;
  border: 1px solid #fff;
  float: left;
}
.chack,
.task-text {
  float: left;
}
.add-new-task {
  margin-bottom: 50px;
  height: 80px;
  width: 588px;
  background-color: rgb(85, 86, 110);
  padding-top: 30px;
  padding-left: 15px;
}
.min-box {
  height: 100px;
  border-bottom: 1px solid #fff;
}
.center {
  padding-top: 20px;
  padding-left: 50px;
}
.fa-star {
  padding-left: 14px;
  padding-top: 100%;
}
#add-task-box {
  float: right;
  margin-right: 10px;
  margin-top: -7px;
  border: none;
  background-color: rgb(255, 198, 94);
  padding: 10px;
}
#taks-input {
  height: 30px;
  width: 350px;
  margin-top: -7px;
}
.category {
  margin-top: 10px;
}
<div class="container">
  <div class="add-new-task">
    <input type="text" id="taks-input">
    <button id="add-task-box">Add New Task box</button>
    <div class="category">
      <button class="catBtn" id="work">Work</button>
      <button class="catBtn" id="home">Home</button>
      <button class="catBtn" id="other">Other</button>
    </div>
  </div>
  <div class="lg-task" id="bigTask"></div>
  <div class="task" id="task-col-a"></div>
  <div class="task" id="task-col-b"></div>
</div>

最佳答案

您需要将点击事件绑定(bind)到按钮并将该值存储在Category中,因此在您的js中添加此

var toDoList = function() {

  // set to default
  var Category = "color-3";
  // attach event to buttons
  var catButtons = document.getElementsByClassName("catBtn");

  // assign value based on event
  var myCatEventFunc = function() {
    var attribute = this.getAttribute("id");
    if (attribute === 'work') {
      Category = 'color';
    } else if (attribute === 'home') {
      Category = 'color-2';
    }
  };

  for (var i = 0; i < catButtons.length; i++) {
    catButtons[i].addEventListener('click', myCatEventFunc, false);
  }

Demo: Fiddle

并从addNewTask函数中删除此代码

if (work.onclick === true) {
   var Category = "color";
}

关于Javascript Todolist 类别 if else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712785/

相关文章:

javascript - 读取 API 的内容 (JSON)

python - 在 __init__ 中使用 While 循环来满足 Python 中的特定条件

javascript - 私有(private)方法使用或不使用函数的困惑

c++ - 使用一种方法可以返回与方法目标无关的值或相应命名的两个单独方法更好吗?

javascript - 如何将样式组件转换为 NPM 包?

javascript - jQuery - 单击表格行时如何触发灯箱?

javascript - AngularJS 指令生成目录

javascript - 从 url 中查找并删除未知值

Php,单例自动加载

c++ - 隐式好友类库