嗨!大家好,昨天我们有提到,一开始两个区域有「目前没有新的任务」以及「尚未有任务完成」,这两个标题都没有做处理,今天就来处理这个问题吧!
addTodoElement().todoForm.addEventListener("submit",(e)=>{
e.preventDefault();
document.querySelector(".no-new-task").style.display = "none"
// 加上这一行,将标题隐藏
})
addTodoElement().todoListArea.addEventListener("click",(e)=>{
if(e.target.classList[1] === "fa-trash-alt"){
setTimeout(()=>{
if(document.querySelectorAll(".todo-list .task").length === 0){
document.querySelector(".no-new-task").style.display = "block"
}
},10)
//在删除的时候增加这一段,侦测任务区还有没有任务
e.target.parentNode.parentNode.remove()
}
})
addTodoElement().finishedButton.addEventListener("click",(e)=>{
// e.preventDefault()
setTimeout(()=>{
if(document.querySelectorAll(".todo-list .task").length === 0){
document.querySelector(".no-new-task").style.display = "block"
}
},10)
//在点击按钮事件加上这一段,侦测任务区还有没有任务
if(checkedTasks.length !== 0){
document.querySelector(".no-finished-task").style.display = "none"
} //有完成的任务,让完成区标题隐藏
}
这样子我们Todolist就完成的差不多了,但其实还有一个问题,就是完成区的任务是没办法删除跟取消划掉线条的,这个功能其实跟监听任务区的作法是相同的,就不赘述。完成区的功能就留给大家自由发挥啦!
以上就是Todolist的实作,写法上如果有不妥或是需要改进的地方,还请大家不要吝啬的在下方留言告诉我,如果跟我一样是新手,也可以在下方留言互相交流。
那铁人赛最後一天就到这边了,这30天从0迈向1的过程中,深刻的体会到这个迈向1的路程是非常的遥远,自己还有非常多的东西需要去了解跟练习,谢谢这30天身边同学及老师的鼓励,以及在短短7天leetcode刷题中有留言分享的邦友。这个新手系列其实还有非常多可以写,例如:事件、闭包、同步与非同步、原型链等等,那接下来我还是会持续的自我挑战下去,可能是三天一篇,或是每个礼拜一篇,然後这里的文章会重新做一次整理搬到个人部落格,就请大家敬请期待吧!
最後完成铁人赛不是结束,而是开始!
昨天介绍 Service Workers 後我们知道它是 PWA 的要素之一,且也是让 Web A...
今天在研究progressBar的时候发现我的xml突然不会跑出提示 所以就开始寻找解决办法 网路上...
今天想要来记录这篇文件 Why the “volatile” type class should n...
虽然在 WordPress 中扩充功能有很多方式,例如在布景主题上使用子布景主题 (child th...
课程进度 第十六周练习题花蛮多时间的,主要卡关的地方是对 jest 的使用不熟悉,浏览器上的 ES6...