这应该是这次参赛的最後作品了
来挑战用jQuery做一个ToDoList
首先先写简单的架构
一个input,一个送出button,跟要放进template的li架构
<div>
<input type="text" placeholder="请输入代办事项" id="form-control">
<button>送出</button>
<li>
<input type="checkbox">
<label>CONTENT_HERE</label>
- <a href="#"> 删除</a>
</li>
</div>
CSS一律最後处理
先来写送出的实际功能
首先li要挪到template中,并新增一个id为add的div,然後进入JS
先写一个addTodo的function,让每次点击送出时都会新增一个list
function update() {
let tmp = $('#template01');
let div = tmp.html();
div = div.replace("CONTENT_HERE", $('#form-control').val());
$("#add").append(div)
}
记得在button新增一个onclick="update()"
这样我们的基本新增List便完成了
然後我们来让打勾勾有作用
首先我们在CSS中新增一个样式,让完成时label内的文字会被加上删除线
.completed {
text-decoration: line-through;
}
然後在JS新增一个函式
function complete(todo) {
if (todo.checked) $('label').addClass("completed")
else $('label').removeClass("completed")
}
用来判别是否打勾然後加上刚刚设好的样式
但是这边因为我们并没有一个名字给它,点击input时,很可能会把其他的label也一并做了样式的改变,
所以我们这边要新增一个独立的id给input跟label
因为这个id得是独立的id,所以我们会需要把它存取下来然後去比对有没有重复
这样子我们便需要把我们目前拥有的List去暂存在我们的JS中
所以在写id前我们需要先把东西更改成存取在阵列之中的版本
因为篇幅可能会太长,所以写到下一篇之中
<<: Day26 - 使用 Share Target Picker 分享讯息
>>: D26 - 彭彭的课程# Python 实体物件的建立与使用 - 上篇 - 实体属性 Instance Attributes
“Love is, that you are the knife which I plunge i...
简介 在 Three.js 动画中我们可以透过以下三种方式来制作动画: SkinnedMesh 骨骼...
前言 昨天把laravel 环境都装好了 今天来介绍laravel mvc架构吧 目标 简单介绍ph...
Digital India is a campaign launched by the Govern...
今天要讲解的内容,在前面讲解theme的应用时,有稍微讲解了一些基本的应用,官方文件内前半部的内容我...