jQuery的入口函数
<script>
$(function(){})
$(document).ready(function(){})//等DOM元素加载完之后执行
</script>
- 等DOM结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery已经完成了封装
- 相当于原生JS中的DOMContentLoaded
- 不同于原生JS中的load事件是等页面文档、外部的JS文件、css文件。图片加载完毕才执行内部代码
jQuery的顶级对象$
- $是jquery的别称,在代码中可以使用jQuery代替$,但一般为了方便,通常直接用$。
- $是jQuery的顶级对象,相当于原生JavaScript中的window。把元素利用$包装成jQuery对象,就可以调用jquery的方法。
jQuery对象和DOM对象
使用原生js获取过来的对象就是DOM对象
使用jQuery获取过来的对象就是jQuery对象
jQuery对象本质是:利用$对DOM对象包装后产生的对象(伪数组形式储存)
jQuery对象只能使用jQuery方法,DOM对象则使用原生的JavaScript属性和方法
DOM对象和jQuery对象可以互相转换
- DOM对象转换为jQuery对象:$(DOM对象)
/方法一
$('div');
//方法二
var thisdiv=document.querySelector('div');
$(thisdiv);
- jQuery对象转换成DOM对象
$('div')[index];
$('div').get(index) //index是索引号
jQuery样式操作
一.操作css方法
jQuery可以使用css方法来修改简单的元素样式;也可以操作类,修改多个样式。
- 参数只写属性名,则是返回属性值
$(this).css(“color”);
- 参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号
$(this).css(“color”,”red”);
- 参数可以是对象样式,方便设置多组样式。属性名和属性值用冒号隔开,属性可以不用加引号
$(this).css({“color”:”white”,”font-size”:”20px”});
如果是复合属性则必须使用驼峰命名法,如果值不是数字,则必须加引号
- 设置类样式方法
作用等同于以前的classList,库操作类样式,注意操作类里面的参数不要加点
- 添加类
$("div").addClass("current");
- 移除类
$("div").removeClass("current");
- 切换类
$("div").toggleClass("current");
类操作与className区别
原生js中className会覆盖元素原先里面的类名
jQuery里面类操作只是对指定类进行操作,不影响原先的类名
jQuery效果
JQquey中封装了很多效果,最常见的如下:
显示隐藏:
show() hide() toggle()
滑动:
slideDown() slideUp() slideToggle()
淡入淡出:
fadeIn() fadeOut() fadeToggle() fadeTo()
自定义动画:
animate()
显示隐藏效果
- 显示语法规范
show([speed,[easing],[fn]])
- 显示参数
- 参数都可以省略,无动画直接显示
- speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
- easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
- Fn:回调函数,在动画完成时执行的函数,每个元素执行一次
- 显示语法规范
hide([speed,[easing],[fn]])
- 隐藏参数
(1)参数都可以省略,无动画直接显示
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次
- 切换语法规范
toggle([speed,[easing],[fn]])
- 切换参数
(1)参数都可以省略,无动画直接显示
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)Fn:回调函数,在动画完成时执行的函数,每个元素执行一次
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./jquery/jquery-3.5.1.min.js">
</script>
<style>
div{
height: 200px;
width: 200px;
background-color: red;
display: none;
}
</style>
</head>
<body>
<button>显示</button>
<button>隐藏</button>
<button>切换</button>
<div></div>
<script>
$(function(){
$("button").eq(0).click(function(){
$("div").show("fast");
})
$("button").eq(1).click(function(){
$("div").hide("fast");
})
$("button").eq(2).click(function(){
$("div").toggle("fast");
})
} )
</script>
</body>
</html>
1.上滑动语法规范
slideUp([speed,[easing],[fn]])
2.滑动参数
(1)参数都可以省略,无动画直接显示
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次
1.下滑动语法规范
slideDown([speed,[easing],[fn]])
2.滑动参数
(1)参数都可以省略,无动画直接显示
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次
1.切换滑动语法规范
slideToggle([speed,[easing],[fn]])
2.滑动参数
(1)参数都可以省略,无动画直接显示
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./jquery/jquery-3.5.1.min.js">
</script>
<style>
div{
height: 200px;
width: 200px;
background-color: red;
display: none;
}
</style>
</head>
<body>
<button>显示</button>
<button>隐藏</button>
<button>切换</button>
<div></div>
<script>
$(function(){
$("button").eq(0).click(function(){
$("div").slideDown("fast");
})
$("button").eq(1).click(function(){
$("div").slideUp("fast");
})
$("button").eq(2).click(function(){
$("div").slideToggle("fast");
})
} )
</script>
</body>
</html>
事件切换
Hover([over,]out)
- over:鼠标移动到元素上要触发的元素(相当于mouseover)
- out:鼠标移出元素要触发的函数(相当于mouseleave)
stop()
- stop()方法用于停止动画或效果
- 注:stop()写到动画或效果的前面,相当于停止结束上一次的动画
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.nav{
border:1px solid black;
display: block;
float: left;
text-align: center;
list-style: none;
width: 40px;
}
.hide{
list-style: none;
display: none;
}
</style>
<script src="./jquery/jquery-3.5.1.min.js"></script>
</head>
<body>
<ul class="nav">
<li>
<a href="#">微博</a>
<ul class="hide">
<Li>私信</Li>
<Li>评论</Li>
<Li>@</Li>
</ul>
</li>
</ul>
<ul class="nav">
<li>
<a href="#">微博</a>
<ul class="hide">
<Li>私信</Li>
<Li>评论</Li>
<Li>@</Li>
</ul>
</li>
</ul>
<ul class="nav">
<li>
<a href="#">微博</a>
<ul class="hide">
<Li>私信</Li>
<Li>评论</Li>
<Li>@</Li>
</ul>
</li>
</ul>
<script>
$(function(){
/* $(".nav>li").mouseover(function(){
$(this).children("ul").show();
});
$(".nav>li").mouseout(function(){
$(this).children("ul").hide();
}) */
$(".nav>li").hover(function(){
$(this).children("ul").stop().slideToggle();
})})
</script>
</body>
</html>
淡入淡出效果
1.淡入方式调整到指定的不透明度
fadeIn([speed],[easing],[fn])
2.效果参数
(1)参数都可以省略。
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次。
1.淡出方式调整到指定的不透明度
fadeOut([speed],[easing],[fn])
2.效果参数
(1)参数都可以省略。
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次。
1.切换方式调整到指定的不透明度
fadeToggle([speed],[easing],[fn])
2.效果参数
(1)参数都可以省略。。
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次。
1.渐进方式调整到指定的不透明度
fadeTo([[speed],opacity,[easing],[fn]])
2.效果参数
(1)opacity透明度必须写,取值1~0之间。
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次。
自定义动画animate
- 语法
Animate(params,[speed],[easing],[fn])
- 参数
- params:想要更改的样式属性,以对象形式传递,必须写。属性名可以不用带引号,如果是复合属性则需要采取驼峰命名法borderLeft.其余参数都可以省略。
(2)speed:三种预定速度之一的字符串(“slow”,“normal”,or””fast)或表示动画时长的毫秒数值(如:1000)。
(3)easing:(Optional)用来指定切换效果,默认是“swing”,可用参数“linear” 。
(4)fn:回调函数,在动画完成时执行的函数,每个元素执行一次。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./jquery/jquery-3.5.1.min.js">
</script>
<style>
div{
height: 100px;
width: 100px;
background-color: red;position: relative;
}
</style>
</head>
<body>
<button>点击</button>
<div></div>
<script>
$(function(){
$("button").click(function(){
$("div").animate({
left:200,
top:300,
opacity:0.5},500);
}
)
})
</script>
</body>
</html>