企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 添加和查看事项和删除事项 ### 1.引入 store.js > store.js 是一个兼容所有浏览器的 LocalStorage 包装器。 store.js封装了localStorage的一系列API。 ~~~javascript // Store current user store.set('user', { name:'Marcus' }); // Get current user store.get('user'); // Remove current user store.remove('user'); // Clear all keys store.clearAll(); // Loop over all stored values store.each(function(value, key) { console.log(key, '==', value) }); ~~~ > 使用时,我们只需要将store.js引入项目即可。 ~~~html <script type="text/javascript" src="js/store.legacy.min.js" ></script> ~~~ ### 2.编写添加、查看和删除功能 ~~~javascript $(function(){ // store.set('bizzbee',{name:'bizzbee',age:26}); // console.log(store.get('bizzbee')); function lg(a){ console.log(a); } var $form_add_task = $('.add-task'); var $delete_task; var task_list = []; init(); /*初始化页面*/ function init(){ task_list = store.get('task_list'); if(task_list.length){ for(var i=0;i<task_list.length;i++){ if(task_list[i]==null){ delete task_list[i]; } } } lg(task_list); render_task_list(); } $form_add_task.on('submit',function(e){ var new_task = {}; /*阻止默认行为*/ e.preventDefault(); var $input = $(this).find('input[name=content]'); new_task.content = $input.val(); if(!new_task.content){ return; } lg(new_task); if(add_task(new_task)){ $input.val(''); }; }); /*新增task的方法*/ function add_task(new_task){ task_list.push(new_task); refresh_task_list(); return true; } function listen_task_delete(){ $delete_task.on('click',function(){ $this = $(this); $item =$this.parent().parent(); var index = $item.data('index'); var tmp = confirm('确定要删除吗?'); tmp?delete_task(index):null; }) } function delete_task(index){ if(!task_list[index]) return; delete task_list[index]; refresh_task_list(); } function refresh_task_list(){ store.set('task_list',task_list); render_task_list(); } function render_task_list(){ var $task_list = $('.task-list'); $task_list.html(''); for(key in task_list){ var item = task_list[key]; /*拼接每一项HTML*/ var $task = render_task_item(item,key); $task_list.append($task); } $delete_task = $('.action.delete'); listen_task_delete(); } function render_task_item(data,index){ if(!data||!index){ return; } var list_item_tpl = '<div class="task-item" data-index="'+index+'">'+ '<span><input type="checkbox"/></span>'+ '<span class="task-content">'+data.content+'</span>'+ '<span class="fr">'+ '<span class="action delete">删除</span>'+ '<span class="action detail">详细</span>'+ '</span>'+ '</div>'; return $(list_item_tpl); } }) ~~~ 新增的CSS ~~~css /*删除和详细按钮*/ .action{ margin: 0 3px; color:#888; font-size:90%; } .action:hover{ color: #333; } .fr{ float: right; } ~~~