jQuery05——综合案例

news/2024/7/10 22:55:26 标签: jquery

跟着学习视频做了个小demo

这里记录一下具体的jquery代码和具体注意点:

$(function() {
    load();
    //1.按下回车 把完整数据 存储到本地存储里面
    $("#title").on("keydown", function(event) {
            if (event.keyCode === 13) {
                if ($(this).val() == "") {
                    alert("请输入您要的操作");
                } else {
                    // alert(11);
                    //先读区本地存储的数据
                    var local = getData();
                    console.log(local);
                    //把local数组进行数据更新
                    local.push({ title: $(this).val(), done: false });
                    //把这个数组local存储到本地存储
                    saveData(local);
                    load();
                    $(this).val("");
                }

            }
        })
        //亲兄弟可以直接拿到索引号,表兄弟不能直接拿到索引号
    $("ol,ul").on("click", "a", function() {
        //先获取本地存储
        var data = getData();
        console.log(data);
        //修改数据
        var index = $(this).attr("id");
        data.splice(index, 1); //从index这个索引号开始删掉一个
        //保存到本地存储
        saveData(data);
        //重新渲染页面
        load();


    })

    //4.todolist正在进行和已完成选项
    $("ol,ul").on("click", "input", function() {
        //先获取本地存储
        var data = getData();
        //  console.log(data);
        //修改数据
        var index = $(this).siblings("a").attr("id");
        data[index].done = $(this).prop("checked");
        console.log(data[index].done);

        //保存到本地存储
        saveData(data);
        //重新渲染页面
        load();
    })


    //读取本地存储的数据的函数
    function getData() {
        var data = localStorage.getItem("todolist");
        if (data != null) {
            return JSON.parse(data);
        } else {
            return [];
        }
    }
    //保存本地存储数据
    function saveData(data) {
        localStorage.setItem("todolist", JSON.stringify(data));
    }
    //渲染加载数据
    function load() {
        //读取
        var data = getData();
        console.log(data);
        //遍历之前先清空ol里面的的lis
        $("ol").empty();
        $("ul").empty();

        var todoCount = 0; //正在进行的个数
        var doneCount = 0; //已经完成的

        //遍历
        $.each(data, function(i, n) {
            if (n.done) {
                $("ul").prepend("<li><input type='checkbox' checked='checked' ><p>" + n.title + "</p> <a href='javascript:;' id=" + i + "></li>");
                doneCount++;
            } else {
                $("ol").prepend("<li><input type='checkbox' ><p>" + n.title + "</p> <a href='javascript:;' id=" + i + "></li>");
                todoCount++;
            }

        });
        $("#todocount").text(todoCount);
        $("#donecount").text(doneCount);
    }
})

 


http://www.niftyadmin.cn/n/1497854.html

相关文章

流水线效率计算公式_钢球厂生产管理的流水线思维

钢球是工业基础件&#xff0c;在轴承、导轨等机械行业占有非常重要的地位&#xff0c;但钢球生产行业&#xff0c;是个比较冷门和窄的行业。高端、超精密钢球&#xff0c;基本上还是依赖进口&#xff0c;国内的绝大部分钢球企业生产管理&#xff0c;还处在相对传统和落后的模式…

转:面试题目汇总(一)

目录 1.抽象类的介绍&#xff0c;抽象类里的虚函数和抽象函数 参考文档抽象类特征抽象方法特征2.虚函数和抽象方法 参考文档虚方法的特点虚方法(virtual)和抽象方法(abstract)的区别3.静态类和静态类成员 参考文档&#xff08;一&#xff09;.C#静态方法与非静态方法比较一、C#…

福州大学软工 1715 | K 班 - 启航

福州大学软工 1715 | K 班 - 启航 愉快的暑假已经接近尾声了&#xff0c;我猜很多同学的暑假都过得轻松&#xff0c;毕竟是夏天&#xff08;空调/WiFi/西瓜&#xff09;。不过呢&#xff0c;暑假期间的老师、助教们可没有闲着&#xff0c;都在为接下来的软工实践教学忙碌着&…

将给出的整数x翻转_leetcode第七题(python):整数反转

给出一个 32 位的有符号整数&#xff0c;你需要将这个整数中每位上的数字进行反转。思路一&#xff1a;把整数转为字符串&#xff0c;再把字符串逆序&#xff0c;再转成整数class Solution(object):def reverse(self, x):""":type x: int:rtype: int""…

Vant 2 - 移动端 Vue 组件库 _ 问题记录

目录 Popup 弹出层 DatetimePicker 时间选择 Field 输入框 Picker 选择器 List 列表 Tab 标签页 发布初衷 &#xff1a; 记录在移动端项目中使用 Vant 2 组件库时遇到的各种问题 &#xff0c; 方便以后再次遇到类似问题 &#xff0c; 能够快时查阅解决 &#xff0c; …

leetcode刷题记录08——盛水最多的容器(Java和JavaScript)

11. 盛最多水的容器 难度&#xff1a;中等 Java答案&#xff1a; class Solution {public int maxArea(int[] height) {int l0,rheight.length-1,res0;while(l<r){resMath.min(height[l],height[r])*(r-l)>res?Math.min(height[l],height[r])*(r-l):res;if(height[l]…

csc.exe已退出,代码为-532462766

我的surface pro4爆屏了 打电话给微软客服&#xff0c;那边说3&#xff0c;4天内给我回复 只能转移源码等资料到老电脑上&#xff0c;老电脑是神舟 精盾K480N I7D2&#xff0c;装的是WIN10预览版build 1625.rs2_release.170721-2122 从微软官网上下载VS2017和MSSQL2016安装了&a…

python学生类有个计算器属性_python作业计算器

import tkinterroottkinter.Tk()root.title(“计算器”)#窗体标题root.geometry(‘200x200’)#主窗体大小设置s’’def count(self):global sif self!’’:lb.config(textself)ssselfelse:if “” in s:lb.config(text(float(s.split("")[0]) float(s.split("&…