电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JS實現簡單的todoList(記事本)效果

瀏覽:128日期:2024-05-31 13:19:37

該記事本程序利用HTML+CSS+JavaScript前端三大框架來實現。

實現了記事本的添加,已完成刪除待辦事項的基本功能。

下面是程序實現的全部代碼:

1.實現效果展示

JS實現簡單的todoList(記事本)效果

2.HTML代碼

<head> <meta charset='UTF-8'> <title>TodoList</title>//導入css文件 <link rel='stylesheet' href='http://www.hdgsjgj.cn/bcjs/todoList.css' ></head><body><div class='myhead'> <h2>My ToDo List</h2> <table> <tr> <td><input type='text' placeholder='請輸入待辦事項...' id='things'></td> <td> <span onclick='addElement()'>add</span></td> </tr> </table></div> //待辦事項部分,內容動態生成 <ul></ul> <div class='test2'></div></body><!--將JavaScript元素放在后面,否則在執行JavaScript的時候,dom樹還未構建,會出現意想不到的錯誤--><script src='http://www.hdgsjgj.cn/bcjs/todoList.js' type='text/javascript'></script></html>

3.CSS代碼

@font-face { font-family: ’iconfont’; /* Project id 2680005 */ 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; /*text-align: center;*/ 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' } }}

在實現程序的時候,才發現明明有些代碼都看得懂是什么意思,但是一到自己寫的時候,就想不到應該這樣完成。

我覺得歸根結底,還是代碼練的不夠多,不能舉一反三,融會貫通。

因此如果大家在看到這篇文章之后,也想做一個記事本的效果,建議大家自己動手敲一敲,畢竟代碼只有自己動手敲了才知道缺陷和錯誤在哪里。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | 包装盒厂家_纸盒印刷_礼品盒定制-济南恒印包装有限公司 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 韦伯电梯有限公司| 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 衬塑管道_衬四氟管道厂家-淄博恒固化工设备有限公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 |