课程笔记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);
}
}