广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS实现简单的todoList(记事本)效果
  • 659
分享到

JS实现简单的todoList(记事本)效果

2024-04-02 19:04:59 659人浏览 泡泡鱼
摘要

该记事本程序利用html+CSS+javascript前端三大框架来实现。 实现了记事本的添加,已完成和删除待办事项的基本功能。 下面是程序实现的全部代码: 1.实现效果展示 2.

该记事本程序利用html+CSS+javascript前端三大框架来实现。

实现了记事本的添加,已完成删除待办事项的基本功能。

下面是程序实现的全部代码:

1.实现效果展示

2.HTML代码


<head>
  <meta charset="UTF-8">
  <title>TodoList</title>
//导入css文件
  <link rel="stylesheet" href="todoList.css" >
</head>
<body>
<div class="myhead">
   <h2>My ToDo List</h2>
  <table>
    <tr>
      <td><input type="text" placeholder="请输入待办事项..." id="things"></td>
      <td> <span id="add" onclick="addElement()">add</span></td>
    </tr>
  </table>
</div>
 
//待办事项部分,内容动态生成
  <ul></ul>
 
<div class="test2"></div>
</body>
<!--将JavaScript元素放在后面,否则在执行JavaScript的时候,dom树还未构建,会出现意想不到的错误-->
<script src="todoList.js" type="text/javascript"></script>
</html>

3.CSS代码


@font-face {
  font-family: 'iconfont';  
  src: url('//at.alicdn.com/t/font_2680005_2v81j5og00f.woff2?t=1626424842361') fORMat('woff2'),
  url('//at.alicdn.com/t/font_2680005_2v81j5og00f.woff?t=1626424842361') format('woff'),
  url('//at.alicdn.com/t/font_2680005_2v81j5og00f.ttf?t=1626424842361') format('truetype');
}
 
body {
  margin: 0;
  padding: 0;
}
*{
  box-sizing: border-box;
}
.myhead{
   background-color: lightpink;
   text-align: center;
   padding: 5px 0px 10px 0px;
   color: aliceblue;
 }
  table{
  margin: 0 auto;
}
 #things{
   width: 180px;
   height: 30px;
   border-radius: 3px;
   outline: none;
   border: solid 1px white;
 }
 #add{
   display: inline-block;
   width: 80px;
   height: 30px;
   background-color: gainsboro;
   color: grey;
   border-radius: 3px;
   line-height: 30px;
 }
  #add:hover{
    cursor: pointer;
    background-color:darkgrey ;
    color: grey;
  }
ul{
  margin: 0px;
  padding: 0px;
}
  ul li{
    list-style: none;
    
    position: relative;
    padding-left:40px;
    height: 40px;
    line-height: 40px;
  }
  ul li:nth-child(odd) {
  background-color: #f9f9f9;
}
  ul li:hover{
  cursor: pointer;
  background-color: #DDDddd;
}
 
  ul li.check{
  background-color: #888888;
  text-decoration: line-through;
  color: #f9f9f9;
}
  ul li.check::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: 0px;
  top: 0px;
  padding: 0px 20px;
  font-size: 16px;
}
.close:hover{
  background-color: #f44336;
  color: white;
}

4.Javascript代码


//1.在每个span后面添加close节点
var mynodelist=document.getElementsByTagName("li")
 
for (var 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);
 
}
 
//2.处理删除事件
var close=document.getElementsByClassName("close")
for (var i=0;i<close.length;i++)
{
  close[i].onclick=function () {
    //parentElement表示返回当前节点的父元素节点
    var div=this.parentElement
    div.style.display="none"
  }
}
 
//3.处理任务完成事件
var list=document.querySelector("ul")
console.log(list)
list.addEventListener('click',function (ev) {
//event.target属性可以用来实现事件委托,例如将事件绑定在ul上,但是点击li时可以被触发
  //tagName是获取元素的标签名
  if (ev.target.tagName === 'LI')
{
  //toggle方法在被选元素上进行hide()和show()之间的切换
  //classList对元素的class继续操作
  ev.target.classList.toggle('check')
}
},false);
 
//4.处理点击add按钮,列表中添加一个待办事项
 
function addElement(){
  var things=document.getElementById('things').value
 
 // alert(localStorage.setItem("mutodolist",JSON.stringify(things)))
 
  var li=document.createElement('li')
 
  var t=document.createTextNode(things)
 
  if (things == '')
  {
    alert("请输入待办事件")
  }
  else
  {
    list.appendChild(li)
    li.appendChild(t)
  }
 
  var span=document.createElement('span')
  var txt=document.createTextNode('\u00D7')
 
  span.className='close'
  span.appendChild(txt)
  li.appendChild(span)
 
  for (var i=0;i<close.length;i++)
  {
    close[i].onclick=function () {
      var div=this.parentElement
      div.style.display="none"
    }
  }
}

在实现程序的时候,才发现明明有些代码都看得懂是什么意思,但是一到自己写的时候,就想不到应该这样完成。

我觉得归根结底,还是代码练的不够多,不能举一反三,融会贯通。

因此如果大家在看到这篇文章之后,也想做一个记事本的效果,建议大家自己动手敲一敲,毕竟代码只有自己动手敲了才知道缺陷和错误在哪里。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JS实现简单的todoList(记事本)效果

本文链接: https://www.lsjlt.com/news/132863.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS实现简单的todoList(记事本)效果
    该记事本程序利用HTML+CSS+JavaScript前端三大框架来实现。 实现了记事本的添加,已完成和删除待办事项的基本功能。 下面是程序实现的全部代码: 1.实现效果展示 2....
    99+
    2022-11-12
  • 利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
    目录1、简单介绍2、运行截图3、代码介绍4、总结1、简单介绍 在学习完HTML、CSS和一些JS后,博主也利用一些空余的时间的写了一个关于JS简单应用的Demo,主要实现的是一个To...
    99+
    2022-11-12
  • js实现简单的拖拽效果
    本文实例为大家分享了js实现简单的拖拽效果的具体代码,供大家参考,具体内容如下 1.拖拽的基本效果 思路: 鼠标在盒子上按下时,准备移动 (事件加给物体) 鼠标移动时,盒子跟随鼠标移...
    99+
    2022-11-12
  • js实现简单日历效果
    本文实例为大家分享了js实现简单日历效果的具体代码,供大家参考,具体内容如下 ## css模块 <style type="text/css"> *{ ma...
    99+
    2022-11-12
  • js实现简单的放大镜效果
    本文实例为大家分享了js实现简单放大镜效果的具体代码,供大家参考,具体内容如下 效果 效果,鼠标在原图片移动,黄色小盒子跟随鼠标移动,黄色小盒子盖住的部分,在显示区显示 效果图如下:...
    99+
    2022-11-12
  • js实现简单轮播图效果
    本文实例为大家分享了js实现简单轮播图效果的具体代码,供大家参考,具体内容如下 使用transform = translateX()实现的图片切换 <style> ...
    99+
    2022-11-12
  • js实现简单手风琴效果
    本文实例为大家分享了js实现手风琴效果的具体代码,供大家参考,具体内容如下 效果: 实现代码: <!DOCTYPE html> <html> <...
    99+
    2022-11-12
  • js实现简单的前端分页效果
    有些项目业务比较简单,但用到前端分页的地方又比较多,插件的体积比较难控制用起来也麻烦,所以自己写一个简易的。 实现思路 通过 jQuery.slice() 选择子集的区间元素, 然后...
    99+
    2022-11-12
  • JS实现简单图片轮播效果
    本文实例为大家分享了JS实现简单图片轮播效果的具体代码,供大家参考,具体内容如下 实现效果 左右按钮可点击左右移动显示图片进行无缝滚动 下面的小圆圈点击可跳到对应...
    99+
    2022-11-12
  • js+html+css实现简单日历效果
    本文实例为大家分享了js+html+css实现简单日历效果的具体代码,供大家参考,具体内容如下 效果: 遇到的问题与解决方法: 1.“日”上移 方法:在&l...
    99+
    2022-11-13
  • js如何实现简单的选项卡效果
    这篇文章主要介绍了js如何实现简单的选项卡效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果如下: 代码如下:<!DOC...
    99+
    2022-10-19
  • 原生JS实现简单的轮播图效果
    本文实例为大家分享了JS实现简单的轮播图效果的具体代码,供大家参考,具体内容如下 实现效果: 功能需求: 1.鼠标经过轮播图模块,左右按钮显示,离开隐藏左右按钮 2.点击右侧按钮一...
    99+
    2022-11-13
  • JS实现简单加减购物车效果
    本文实例为大家分享了JS实现简单加减购物车的具体代码,供大家参考,具体内容如下 1.书写input输入框作为加减实现的效果。 2.加减按钮用button按钮来实现 3.利用js控制i...
    99+
    2022-11-12
  • 原生js实现简单轮播图效果
    本文实例为大家分享了js实现简单轮播图效果的具体代码,供大家参考,具体内容如下 效果如下: 分析: 分析效果: 分析实现: 1、通过 document.querySelecto...
    99+
    2022-11-12
  • 利用Python开发实现简单的记事本
    前言 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。 示例图 如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合...
    99+
    2022-06-04
    记事本 简单 Python
  • js如何实现简单的网页换肤效果
    这篇文章给大家分享的是有关js如何实现简单的网页换肤效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。中心思想:网页换肤的原理就是通过调用不同的样式表文件来实现不同的皮肤切换,并...
    99+
    2022-10-19
  • JS实现轮播图效果的3种简单方法
    本文实例为大家分享了3种方法实现JS轮播图效果的具体代码,供大家参考,具体内容如下 Js实现轮播图01 实现思路 这可能是轮播图最简单点的实现之一,通过更改图片的src来实现该效果,...
    99+
    2022-11-12
  • 怎么用原生JS实现简单的轮播图效果
    本篇内容主要讲解“怎么用原生JS实现简单的轮播图效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用原生JS实现简单的轮播图效果”吧!实现效果:功能需求:鼠标经过轮播图模块,左右按钮显示,离...
    99+
    2023-07-02
  • css+js怎么实现简单的动态进度条效果
    这篇文章主要介绍css+js怎么实现简单的动态进度条效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   我们要知道,这里主要使用了css3的animation动画属性,首先将进...
    99+
    2022-10-19
  • js如何实现简单的获取验证码按钮效果
    小编给大家分享一下js如何实现简单的获取验证码按钮效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!效果图:图(1)初始图图(2)点击后代码如下:<!DOCTYPE HTM...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作