如何创建:待办事项列表

学习如何使用 CSS 和 JavaScript 创建“待办事项列表”。

تدوین کار کا فہرست

کام، سی ایس ایس اور جاوا اسکریپٹ کا استعمال کرکے تدوین کار کا فہرست بنائیں تاکہ کام کو منظم کیا جاسکے اور اس کی ترجیحات کا پتہ لگایا جاسکے。

تدوین کار کا فہرست بنائیں

پہلے مرحلے - ہیٹھائیں:

<div id="myDIV" class="header">
  <h2>My To Do List</h2>
  <input type="text" id="myInput" placeholder="Title...">
  <span onclick="newElement()" class="addBtn">Add</span>
</div>
<ul id="myUL">
  <li>Hit the gym</li>
  <li class="checked">Pay bills</li>
  <li>Meet George</li>
  <li>Buy eggs</li>
  <li>Read a book</li>
  <li>Organize office</li>
</ul>

دوسرے مرحلے - سی ایس ایس اضافہ کریں:

عنوان اور لیست کا سائٹل کریں:

/* اندرونی فضائیابی اور بورڈر کو عناصر کی کل اقدار میں شامل کریں */
* {
  box-sizing: border-box;
}
/* لیست سے بیرونی اور اندرونی فضائیابی کو ہٹا دیا جائے */
ul {
  margin: 0;
  padding: 0;
}
/* لیست آئٹموں کا سائٹل کریں */
ul li {
  cursor: pointer;
  position: relative;
  padding: 12px 8px 12px 40px;
  background: #eee;
  font-size: 18px;
  transition: 0.2s;
  /* لیست آئٹموں کو انتخاب سے منع کریں */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* تمام غیر جملاتی لیست آئٹموں کو مختلف رنگ (زبرتی) کا تعین کریں */
ul li:nth-child(odd) {
  background: #f9f9f9;
}
/* موس کی سنجائش کے وقت پس منظر رنگ کا رنگ کم کردیا جائے */
ul li:hover {
  background: #ddd;
}
/* وقت کلک کریں، پس منظر رنگ اور متن کو خورد کریں */
ul li.checked {
  background: #888;
  color: #fff;
  text-decoration: line-through;
}
/* علامت "انتخاب شده" در هنگام کلیک اضافه می‌شود */
ul li.checked::before {
  content: '';
  position: absolute;
  border-color: #fff;
  border-style: solid;
  border-width: 0 2px 2px 0;
  top: 10px;
  left: 16px;
  transform: rotate(45deg);
  height: 15px;
  width: 7px;
}
/* استایل بوتن بستن تنظیم می‌شود */
.close {
  position: absolute;
  right: 0;
  top: 0;
  padding: 12px 16px 12px 16px;
}
.close:hover {
  background-color: #f44336;
  color: white;
}
/* استایل عنوان تنظیم می‌شود */
.header {
  background-color: #f44336;
  padding: 30px 40px;
  color: white;
  text-align: center;
}
/* شفاف‌سازی شناور پس از عنوان */
.header:after {
  content: "";
  display: table;
  clear: both;
}
/* استایل فیلد ورودی تنظیم می‌شود */
input {
  margin: 0;
  border: none;
  border-radius: 0;
  width: 75%;
  padding: 10px;
  float: left;
  font-size: 16px;
}
/* استایل بوتن "افزودن" تنظیم می‌شود */
.addBtn {
  padding: 10px;
  width: 25%;
  background: #d9d9d9;
  color: #555;
  float: left;
  text-align: center;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 0;
}
.addBtn:hover {
  background-color: #bbb;
}

مرحله سوم - اضافه کردن جاوااسکریپت:

//ایکم بوتن "بستن" برای هر آیتم لیست ایجاد می‌کنیم و آن را به هر آیتم لیست متصل می‌کنیم
var myNodelist = document.getElementsByTagName("LI");
var i;
برای (i = 0; i < myNodelist.length; i++) {
  var span = document.createElement("SPAN");
  var txt = document.createTextNode("\u00D7");
  span.className = "close";
  span.appendChild(txt);
  myNodelist[i].appendChild(span);
}
// بند دکھنوکا کلائک کرنے پر موجود فہرست آئٹم کو ختم کریں
var close = document.getElementsByClassName("close");
var i;
for (i = 0; i < close.length; i++) {
  close[i].onclick = function() {
    var div = this.parentElement;
    div.style.display = "none";
  }
}
// فہرست آئٹم پر کلائک کرنے پر ایک ‘منتخب’ نمبر اضافہ کریں
var list = document.querySelector('ul');
list.addEventListener('click', function(ev) {
  if (ev.target.tagName === 'LI') {
    ev.target.classList.toggle('checked');
  }
}, false);
// جب دکھنوکا کلائک کرنے پر ایک نئی فہرست آئٹم بنائیں
function newElement() {
  var li = document.createElement("li");
  var inputValue = document.getElementById("myInput").value;
  var t = document.createTextNode(inputValue);
  li.appendChild(t);
  if (inputValue === '') {
    alert("شاید چیزی بنویسید!");
  } else {
    document.getElementById("myUL").appendChild(li);
  }
  document.getElementById("myInput").value = "";
  var span = document.createElement("SPAN");
  var txt = document.createTextNode("\u00D7");
  span.className = "close";
  span.appendChild(txt);
  li.appendChild(span);
  for (i = 0; i < close.length; i++) {
    close[i].onclick = function() {
      var div = this.parentElement;
      div.style.display = "none";
    }
  }
}