JQuery && JSON

课程笔记Day45

  • JQuery
  • JSON

第一章 JQuery

备注:下载素材地址

https://sc.chinaz.com/tag_jiaoben/jquery.html

第01节 增删效果
1、添加操作

语法

append()  //在被选元素的结尾插入内容
prepend() //在被选元素的开头插入内容
after()   //在被选元素之后插入内容
before()  //在被选元素之前插入内容

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加功能</title>
</head>
<body>

<p>
    hello
    world
</p>

<ul>
    <li>迪丽热巴</li>
    <li>古力娜扎</li>
</ul>

<div>
    <button id="btnp_hou">点我,添加在P标签的后面</button>
    <button id="btnul_hou">点我,添加在ul标签的后面</button>

    <button id="btnp_qian">点我,添加在P标签的前面</button>
    <button id="btnul_qian">点我,添加在ul标签的前面</button>
</div>

<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
        $("#btnp_hou").click(function () {
            $("p").append("java");
        });
        $("#btnul_hou").click(function () {
            $("ul").append("<li>马尔扎哈</li>");
        });
        $("#btnp_qian").click(function () {
            $("p").prepend("前端");
        });
        $("#btnul_qian").click(function () {
            $("ul").prepend("<li>卡特琳娜</li>");
        });
    });
</script>
2、删除操作

语法

remove()  // 删除被选元素(及其子元素)清除全部的内容,宽度和高度为0
empty()   // 从被选元素中删除子元素, 清除全部的内容,宽度和高度保持不变

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>删除功能</title>
</head>
<body>

<div style="background-color: #00FFFF;width: 400px;height: 100px">

    大家好,我是渣渣辉,欢迎来玩贪玩蓝月 一刀999 秒变高富帅
    <span>
        我们要玩王者荣耀...
    </span>
</div>

<br><br>
<button id="btn_remove"> 点我删除 remove </button>
<button id="btn_empty"> 点我删除 empty </button>

<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
        $("#btn_remove").click(function () {
            $("div").remove();
        });
        $("#btn_empty").click(function () {
            $("div").empty();
        });
    });
</script>
第02节 尺寸问题
1、宽度高度

语法

width()			//获取的是元素的宽度,不包括边框和内边距
height()		//获取的是元素的高度,不包括边框和内边距

innerWidth()	//获取的是元素的宽度,包括内边距,不包括边框
innerHeight()	//获取的是元素的高度,包括内边距,不包括边框

outerWidth()	//获取的是元素的宽度,包括内边距,包括边框
outerHeight()	//获取的是元素的高度,包括内边距,包括边框

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>获取尺寸</title>
    <style>
        div {
            width: 400px;
            height: 100px;
            padding: 50px;
            border: 5px solid #FF9900;
        }
    </style>
</head>
<body>

<div id="divid">
    还有一周就要放假啦!~ <br>
    宽度的设置是400,高度的设置是 100 <br>
    内边距设置是50,边框是5 
</div>

<p>
    <button id="btn_width"> 获取宽度 width</button>
    <button id="btn_height"> 获取高度 height</button>
</p>

<p>
    <button id="btn_innerwidth"> 获取宽度 innerwidth</button>
    <button id="btn_innerheight"> 获取高度 innerheight</button>
</p>

<p>
    <button id="btn_outerwidth"> 获取宽度 outerwidth</button>
    <button id="btn_outerheight"> 获取高度 outerheight</button>
</p>

<span>
    展示内容:
</span>
<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
       $("#btn_width").click(function () {
           let v = $("#divid").width();
           $("span").append(" width: "+v);
       });
    });
    $(function () {
        $("#btn_height").click(function () {
            let v = $("#divid").height();
            $("span").append(" height: "+v);
        });
    });
    $(function () {
        $("#btn_innerwidth").click(function () {
            let v = $("#divid").innerWidth();
            $("span").append(" innerWidth: "+v);
        });
    });
    $(function () {
        $("#btn_innerheight").click(function () {
            let v = $("#divid").innerHeight();
            $("span").append(" innerHeight: "+v);
        });
    });
    $(function () {
        $("#btn_outerwidth").click(function () {
            let v = $("#divid").outerWidth();
            $("span").append(" outerWidth: "+v);
        });
    });
    $(function () {
        $("#btn_outerheight").click(function () {
            let v = $("#divid").outerHeight();
            $("span").append(" outerHeight: "+v);
        });
    });
</script>
2、浏览器窗口

语法

$(document).width()    //获取到宽度
$(document).height()   //获取到高度

案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>获取窗口尺寸</title>
</head>
<body>

<button id="btn">点我获取到窗口的尺寸</button>

<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
        $("#btn").click(function () {
            let windowWidth = $(window).width();
            let windowHeight = $(window).height();
            let documentWidth = $(document).width();
            let documentHeight = $(document).height();
            //展示结果
            let message = "windowWidth = " + windowWidth + "\n";
            message += "windowHeight = " + windowHeight + "\n";
            message += "documentWidth = " + documentWidth + "\n";
            message += "documentHeight = " + documentHeight + "\n";
            alert(message);
        });
    });
</script>
第03节 动画效果
1、基础动画

语法介绍

1. 显示  show()
2. 隐藏  hide()
3. 淡入  fadeIn(毫秒值);
4. 淡出  fadeOut(毫秒值);
5. 滑动  slideDown(毫秒值)  slideUp(毫秒值)  slideToggle(毫秒值)

案例代码

显示和隐藏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>显示和隐藏</title>
</head>
<body>

<div id="divid">
    随便啦, 我随意,你干了。
</div>

<button id="btn_show">点我显示SHOW</button>
<button id="btn_hide">点我隐藏HIDE</button>

<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
        //显示按钮的点击事件效果
        $("#btn_show").click(function () {
            $("#divid").show()
        });
        //隐藏按钮的点击事件效果
        $("#btn_hide").click(function () {
            $("#divid").hide()
        });
    });
</script>

淡入淡出的效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>淡入淡出</title>
</head>
<body>

<p>
    <button id="btn_in"> 淡入 fadeIn </button>
    <button id="btn_out"> 淡出 fadeOut </button>
    <button id="btn_toggle"> 淡入淡出 fadeToggle </button>
    <button id="btn_to"> 调解透明度指定大小 </button>
</p>

<img id="picid" src="meinv.png" width="280" height="280">

<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
        //按钮的点击事件效果 stop() 在执行当前动画之前,停止其他动画
        $("#btn_in").click(function () {
            $("#picid").stop().fadeIn(2000);
        });
        //按钮的点击事件效果 stop() 在执行当前动画之前,停止其他动画
        $("#btn_out").click(function () {
            $("#picid").stop().fadeOut(2000);
        });
        //按钮的点击事件效果 stop() 在执行当前动画之前,停止其他动画
        $("#btn_toggle").click(function () {
            $("#picid").stop().fadeToggle(2000);
        });
        //按钮的点击事件效果 stop() 在执行当前动画之前,停止其他动画
        //2000毫秒的执行时间, 达到0.3的透明度。 透明度范围在 0.0-1.0之间
        $("#btn_to").click(function () {
            $("#picid").stop().fadeTo(2000,0.3);
        });
    });
</script>

滑动的动画效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>滑动的效果</title>
</head>
<body>

<p>
<button id="btn_down">向下滑动 down</button>
<button id="btn_up">向上滑动 up</button>
<button id="btn_toggle">开关效果 toggle</button>
</p>

<div style="background-color: #FF9900;text-align: center">
    <img id="picid" src="meinv.png" style="display: none">
</div>

<script src="../js/jquery-3.3.1.min.js"></script>

</body>
</html>

<script>
    $(function () {
        //下滑展示
        $("#btn_down").click(function () {
            $("#picid").stop().slideDown(2000);
        });
        //上滑隐藏
        $("#btn_up").click(function () {
            $("#picid").stop().slideUp(2000);
        });
        //开关效果:下滑展示,上滑隐藏
        $("#btn_toggle").click(function () {
            //可以禁用按钮
            $("#btn_toggle").prop("disabled",true);
            $("#picid").stop().slideToggle(2000,function () {
                //执行完毕,可用按钮
                $("#btn_toggle").prop("disabled",false);
            });
        });
    });
</script>
2、自定义动画

语法介绍

$("选择器名称").animate({css的参数},速度值,回调函数);    //回调函数,动画执行完毕,可以完成什么操作

案例代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义动画效果</title>
</head>
<body>

<p>
    <button id="btn1">动画效果1</button>
    <button id="btn2">动画效果2</button>
</p>

<img id="picid" src="meinv.png" width="140" height="140" style="position: absolute">

<script src="../js/jquery-3.3.1.min.js"></script>
</body>
</html>

<script>
    $(function () {
        $("#btn1").click(function () {
            //左边的距离是 10px
            //底部的距离是 50px
            $("#picid").animate({
                left: '10px',
                bottom: '50px'
            }, 2000, function () {
                alert("Over")
            })
        });
        $("#btn2").click(function () {
            //宽度增加 100px
            //高度增加 100px
            //透明度调整到 0.4
            $("#picid").animate({
                width: '+=100px',
                height: '+=100px',
                opacity: '0.4',
            }, 2000, function () {
                alert("Over")
            })
        });
    });
</script>

第二章 JSON

第01节 基础理论
1、概念说明
1. 什么是JSON ?
	JSON 就是一种特殊格式的字符串, 主要用于网络传输当中。

2. 例如:
	服务器 ---返回数据(String字符串)---->客户端(浏览器)
	对于字符串来说, 设置为指定的方式, 叫做 JSON 格式

3. 关于JSON解析方式:
	A. Java自带的JSON解析方式: JSONObject 和 JSONArray  (了解)
	B. JacksonJSON 解析方式:  (重点)
	C. fastJSON  解析方式: 阿里巴巴的(不用了,有人翻阅源码发现存在问题)
	D. Gson 解析方式: 安卓程序开发,Google 旗下的
2、相关jar包准备

对于 JacksonJSON 主要有三个 jar 包需要准备

jackson-annotations-2.2.1.jar
jackson-core-2.2.1.jar
jackson-databind-2.2.1.jar

对于 gson 来说,主要只有一个 jar 包需要准备

gson-2.7.jar
第02节 写数据操作
1、写数组类型的数据
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;

//JacksonJSON 生成 JSON 数据
public class Test01 {

    public static void main(String[] args) throws Exception {
        //定义一个集合对象,里面存放的是字符串。
        ArrayList<String> array = new ArrayList<>();
        //存放数据
        array.add("迪丽热巴");
        array.add("古力娜扎");
        array.add("马尔扎哈");
        //需要去创建 ObjectMapper 的对象
        ObjectMapper mapper = new ObjectMapper();
        //生成JSON对象
        String json = mapper.writeValueAsString(array);
        //展示结果
        System.out.println(json);
 
    }
}

// ["迪丽热巴","古力娜扎","马尔扎哈"]
2、写对象类型的数据

学生类

public class Student {

    private String name;
    private int age;
    private String gender;
	//省略部分内容.....
}

测试类

import com.fasterxml.jackson.databind.ObjectMapper;

//采用对象,生成JSON数据
public class Test02 {

    
    public static void main(String[] args) throws Exception {

        //创建的对象
        Student stu = new Student("静姐",18,"女");

        //准备JSON写数据
        ObjectMapper mapper = new ObjectMapper();
        //写对象
        String json = mapper.writeValueAsString(stu);
        System.out.println(json);
    }
}

//{"name":"静姐","age":18,"gender":"女"}
3、写综合类型的数据

学生类

public class Student {

    private String name;
    private int age;
    private String gender;
	//省略部分内容.....
}

测试类

import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.ArrayList;
import java.util.HashMap;

//写综合类型的数据
public class Test03 {

    public static void main(String[] args) throws Exception{

        ArrayList<Student> array = new ArrayList<>();
        array.add(new Student("迪丽热巴",23,"女"));
        array.add(new Student("古力娜扎",24,"女"));
        array.add(new Student("马尔扎哈",88,"男"));
        //再来创建一个集合,准备存放数据
        HashMap<String,Object> map = new HashMap<>();
        map.put("message",array);
        map.put("status",200);
        //创建ObjectMapper的对象,准备写数据
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(map);
        System.out.println(json);
    }
}

//{"message":[{"name":"迪丽热巴","age":23,"gender":"女"},{"name":"古力娜扎","age":24,"gender":"女"},{"name":"马尔扎哈","age":88,"gender":"男"}],"status":200}
第03节 读数据操作
1、读数组类型的数据
public class Test01 {

    //["迪丽热巴","古力娜扎","马尔扎哈"]
    public static void main(String[] args) throws Exception {

        File f = new File("JavaWebDay23\\dir\\对象数据.txt");

        //创建ObjectMapper的对象
        ObjectMapper mapper = new ObjectMapper();
        //直接调用读数据的方法
        JavaType type = mapper.getTypeFactory().constructParametricType(List.class, String.class);
        List<String> mList = mapper.readValue(f, type);
        //输出结果
        mList.forEach(System.out::println);
    }
}
2、读对象类型数据

学生类

public class Student {

    private String name;
    private int age;
    private String gender;
	//省略部分内容.....
}

测试类

public class Test02 {

    //{"name":"静姐","age":18,"gender":"女"}
    public static void main(String[] args) throws Exception {
        File f = new File("JavaWebDay23\\dir\\对象数据.txt");
        //创建ObjectMapper的对象
        ObjectMapper mapper = new ObjectMapper();
        //直接调用读数据的方法
        Student stu = mapper.readValue(f, Student.class);
        //输出结果
        System.out.println(stu);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值