一、jQuery介绍?
1、什么是jQuery?
- 是一个JavaScript函数库
2、jQuery特点
- 写的少,做的多
3、jQuery的安装
- 直接下载引入
js
<script src="jquery-1.10.2.min.js"></script>
- 通过cdn引入
js
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script>
4、jQuery()函数===$()函数
获取DOM函数
js
//js获取元素
var textP = document.getElementById('text')
console.log($1('text'))//DOM对象
console.log($1('text').innerText)//文本内容
js
// jQuery获取的元素
console.log(jQuery('#text')) //jQuery对象
console.log($('#text'))//可以简写
console.log(jQuery('#text').innerText) //undefined
js入口函数
js
window.onload = function () {
console.log('javascript 的入口函数1')
}
window.onload = function () {
console.log('javascript 的入口函数2')//第二个会覆盖第一个
}
jQuery(document).ready(function () {
console.log('jQuery的入口函数1')
})
jQuery(document).ready(function () {
console.log('jQuery的入口函数2')//jQuery不会发生覆盖
})
$(function () {
console.log('jQuery的入口函数3')//jQuery可以简写
})
5、js入口函数与jQuery入口函数的区别
- js的入口函数多了会发生覆盖,jQuery是可以重复的
- JavaScript 的 window.onload 事件是等到所有内容,包括外部图片之类的文件加载完后,才会执行。
- jQuery 的入口函数是在 html 所有标签(DOM)都加载之后,就会去执行
- js的入口函数不能简写,jquery的入口函数可以简写
二、jQuery的css方法
1、通过css()获取选中元素的样式
js
//通过#('#box')获取id为box的元素 css()获取当前元素的的宽度
console.log($('#box').css('width'))//400px
console.log($('#box').css('height'))//400px
js
//通过css()返回的颜色的属性值是reg格式的
console.log($('#box').css("background-color"))//rgb(255, 255, 255)
console.log($('#box').css('color'))//rgb(255, 0, 0)
2、通过css()设置样式
如果属性名中间有 - ,要加引号 或者去掉-大写第一个字母
js
// $('#btn').onclick = function () {} 不可以这样写
document.getElementById("btn").onclick = function () {
//可以单独设置 css(属性名,属性值)
$("#box").css('width',"600px")
$("#box").css('height',"600px")
//简写 多个属性同时设置
$('box').csss({
width:'600px',
height:'600px',
'background-color':'blue',//如果属性名中间有 - ,要加引号
'font-size':"50px"
})
}
三、jquery选择器
1、基本选择器
- id选择器
js
console.log($('#list')) //获取id为list的元素 写#
- 类名选择器
js
console.log($('.lic'))//获取class为liC的元素 写.
- 标签
js
console.log($('li')) //获取所有的li标签
- 并集(所有的)
js
//获取header和id为list和footer标签,所有标签的字体都设置为30px
$('header,#list,footer').css('font-size', '30px')
- 交集(都满足的)
js
//获取p标签 并且class为liC的元素 字体颜色改为blue
$('p.liC').css('color', 'blue')
2、层级选择器
- 子代
js
//获取ul子元素的所有li 背景颜色改为pink
$('ul>li').css('background-color', 'pink')
- 后代
js
//ul后代的li 加粗
$('ul li').css('font-weight', '700')
3、过滤选择器
索引获取 :eq(索引)
js
//获取到的li元素中 选择索引为1的元素 文字居中显示 一定用冒号
$('li:eq(1)').css('text-align', 'center')
索引为奇数的
js
//获取到的li元素中 选择索引为奇数的元素 字体倾斜
$('li:odd').css('font-style', 'italic')
索引为偶数的
js
//获取到的li元素中 选择索引为偶数的元素 加下划线
$('li:even').css('text-decoration', 'underline')
4、筛选选择器(方法)
子类选择器 $("ul").children("li")
js
console.log($('ul').children())//获取ul下的所有孩子
//相当于$('ul>li')
console.log($('ul').children('li'))//获取ul下名字为li的孩子
后代选择器,$("ul").find("li"); 必须添加参数
js
//获取ul后代的p标签
console.log($('ul').find('p'))
查找兄弟节点,不包括自己本身,$("#first").siblings("li"); 添加参数返回指定的兄弟
js
//兄弟包括 .li3 上面的下面的
console.log($('.li3').siblings()) //选择所有兄弟
console.log($('.li3').siblings('li')) //选择名字为li兄弟
查找父亲 $("#first").parent();
js
console.log($('.li3').parenet())//获取li3的父亲 ul
祖先
js
console.log($('.li3').parents())//0:ul#list, 1: body, 2: html
索引
js
//获取#list下面的索引为2的li
console.log($('#list>li').eq(2))
下一个兄弟 $("li").next()
js
console.log($('.li3').next())//获取li3下一个的标签
下边所有的兄弟
js
console.log($('.li3').nextAll())
上一个兄弟 $("li").prev()
js
console.log($('.li3').prev())//获取li3的上一个元素
获取当前的位置(索引)$("li").index()
js
console.log($('.li3').index())//获取li3的索引 2
返回不带有类名 "intro" 的所有
元素$("p").not(".intro")
js
console.log($('.liC').not('li'))//选择class为liC 但是不是li的元素
四、jQuery事件 (不用on)
1、鼠标事件
js
//jQuery中绑定事件: 事件源(jquery对象).事件类型(不加on事件的处理程序)
$('#btn').click(function () {
console.log("单击了")
console.log($(this))
$(this).css('background-color', 'red')
}
js
//鼠标按下 按钮改变
$('button').mousedown(function () {
$(this).css({
height: '100px',
'font-size': '30px',
})
})
2、键盘事件
js
$('#user').keydown(function () {
console.log(this.value)//内容
console.log($(this).value)//undefined
})
3、浏览器事件
js
$(window).scroll(function () {
console.log('滚动了')
})
五、jQuery css类
1、addClass()向被选元素添加一个或者多个类
js
$('#add').click(function () {
//获取类名为box的元素 添加类名select_1 select_2
$('.box').addClass('select_1 select_2')
})
2、removeClass()向被选元素删除一个或者多个类
js
//鼠标进入 获取类名为box的元素 删除两个类
$('#remove').mouseenter(function () {
$('.box').removeClass('box select_2')
})
3、toggleClass()删除类和添加类的切换操作
js
$('#toggle').click(function () {
$('.box').toggleClass('select_1')
})
六、jQuery 动画方法
1、隐藏hide()
js
$('#hide').click(function () {
$('#box').hide()//单击按钮 box隐藏
//相当于 display:none;不占位置
})
2、显示show()
js
$('#show').click(function () {
$('#box').show()//点击按钮显示
})
3、显示隐藏切换 toggle()
js
$('#toggle').click(function () {
$('#box').toggle()//点击按钮切换
})
4、淡出 fadeOut() 慢慢消失
- ()加参数 参数为动画时间
js
$('#fadeOut').click(function () {
// $('#box').fadeOut()
$('#box').fadeOut(5000)//获取id为box的元素,动画时间为5s
})
5、淡入 fadeIn() 显示出来
js
$('#fadeIn').click(function () {
// $('#box').fadeIn()
$('#box').fadeIn(5000)
})
6、淡入淡出切换 fadeToggle()
js
$('#fadeToggle').click(function () {
// $('#box').fadeIn()
$('#box').fadeToggle(2000)
})
7、滑动向上 slideUp()
- 点击按钮 高度慢慢减小
js
//点击按钮 高度慢慢减小
$('#slideUp').click(function () {
$('#box').slideUp(3000)
})
8、滑动向下 slideDown()
js
//点击按钮 高度慢慢变大 时间为3s
$('#slideDown').click(function () {
$('#box').slideDown(3000)
})
9、滑动上下的切换 slideToggle()
js
$('#slideToggle').click(function () {
$('#box').slideToggle(2000)
})
10、定义动画 animate(对象,时间间隔)
暂时能改变颜色属性
js
$('#animate').click(function () { //自定义动画
$('#boxTwo').animate( //获取元素添加动画
{
width: '500px',
height: 500,
'border-radius': '50%',
'background-color': 'red',//暂时不以改变颜色
color: 'red',//暂时不以改变颜色
},
3000 //时间为3s
)
})