jQuery总结
jQuery是目前世界上使用最广泛的JavaScript函数库。
jQuery引入:
<script type="text/javascript" src="js/jquery-1.12.2.js"></script>
jQuery加载:
jQuery提供的ready方法与原生的window.onload更快。
第一种方式:
<script type="text/javascript">
$(document).ready(function(){
......
});
</script>
第二种方式:
<script type="text/javascript">
$(function(){
......
});
</script>
jQuery选择器:**********
jQuery选择器选择规则和css样式相同
1 $(document) //选择整个文档对象
2 $('li') //选择所有的li元素
3 $('#myId') //选择id为myId的网页元素
4 $('.myClass') // 选择class为myClass的元素
5 $('input[name=first]') // 选择name属性等于first的input元素
6 $('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素
对选择集进行修饰过滤(类似css伪类)
$('#ul1 li:first') //选择id为ul1元素下的第一个li
$('#ul1 li:odd') //选择id为ul1元素下的li的奇数行
$('#ul1 li:eq(2)') //选择id为ul1元素下的第3个li
$('#ul1 li:gt(2)') //选择id为ul1元素下的前三个之后的li
$('#myForm : input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素
对选择集进行函数过滤
$('div).has('p'); //选择包含p元素的div元素
$('div').not('.myClass'); // 选择class不等于myClass的div元素
$('div').filter('.myClass'); //选择class等于myClass的div元素
$('div').first(); //选择第一个div元素
$('div').eq(5); //选择第六个div元素
选择集转移
$('div').prev('p'); //选择div元素前面的第一个p元素
$('div').next('p'); //选择div元素后面的第一个p元素
$('div').closest('form'); //选择离div最近的那个form父元素
$('div').parent(); //选择div元素的父元素
$('div').children(); //选择div元素的所有子元素
$('div').siblings(); //选择div的同级元素
$('div').find('.myClass'); //选择div内的class等于myClass的元素
jQuery样式操作
jQuery用法:同一个函数完成取值和赋值
操作行间样式
//获取div的样式
$('div').css('width');
//设置div的样式
$('div').css({width:'30px',color:'red'});
操作样式类名
$('#div1').addClass('divClass2'); //为id为div1的对象追加样式divClass2
$('#div1').removeClass('divClass'); //移除id为div1的对象的class名为divClass的样式
$('#div1').removeClass("divClass divClass2"); //移除多个样式
$('#div1').toggleClass("anotherClass"); //重复切换anotherClass样式
jQuery动画
通过animate方法可以设置元素某属性值上的动画,可以设置一个或多个属性值,动画执行完成后会执行一个函数。
1 $(function(){
2 /*
3 参数:
4 1.属性设置{param1:1,param2:2}
5 2.speed 时间 ms
6 3.运动曲线 swing (默认值) 开始和结束慢速,中间快速 linear匀速
7 4.回调函数
8 */
9 $('#div1').animate({width:200,height:200},1000,'swing',function(){
10 //alert('动画完了!');
11 $(this).animate({marginLeft:500},1000,function(){
12 $(this).animate({marginTop:500},1000);
13 });
14 });
15 })
尺寸相关、滚动事件
1、获取和设置元素的尺寸
width()、height() 获取元素width和height
innerWidth()、innerHeight() 包括padding的width和height outerWidth()、
outerHeight() 包括padding和border的width和height
outerWidth(true)、outerHeight(true) 包括padding和border以及margin的width和height
2、获取元素相对页面的绝对位置
offse()
3、获取可视区高度
$(window).height();
4、获取页面高度
$(document).height();
5、获取页面滚动距离
$(document).scrollTop(); $(document).scrollLeft();
6、页面滚动事件
$(window).scroll(function(){ ...... })
jQuery事件*********
blur() 元素失去焦点
focus() 元素获得焦点
change() 表单元素的值发生变化
click() 鼠标单击
dblclick() 鼠标双击
mouseover() 鼠标进入(进入子元素也触发)
mouseout() 鼠标离开(离开子元素也触发)
mouseenter() 鼠标进入(进入子元素不触发)
mouseleave() 鼠标离开(离开子元素不触发)
hover() 同时为mouseenter和mouseleave事件指定处理函数
mouseup() 松开鼠标
mousedown() 按下鼠标
mousemove() 鼠标在元素内部移动
keydown() 按下键盘
keypress() 按下键盘
keyup() 松开键盘
load() 元素加载完毕
ready() DOM加载完成
resize() 浏览器窗口的大小发生改变
scroll() 滚动条的位置发生变化
select() 用户选中文本框中的内容
submit() 用户递交表单
toggle() 根据鼠标点击的次数,依次运行多个函数
unload() 用户离开页面
事件绑定:bind
1 $(function(){
2 //bind绑定事件
3 $('#btn').bind('click mouseover',function(){
4 alert('hello');
5 //unbind取消绑定事件
6 $(this).unbind('mouseover');
7 });
8 });