jQuery入门学习笔记

来源:互联网 发布:方维直播源码 下载 编辑:程序博客网 时间:2024/05/21 19:20

       前段时间已经打了挺久的基础了,也使用原生JavaScript写了一些简单的交互,但是实际工作当中实际上经常使用库与框架,所以现在来学习如何使用jQuery函数库。


jQuery是一个JavaScript函数库,封装了原生的JavaScript,并在封装时就解决了兼容性问题。简单来说就是jQuery是JavaScript写好的一个个小零件,引入网页后直接用这些现成的小零件来实现功能而不是从头写起。


jQuery函数库包含的功能:

HTML元素选取

HTML元素操作

CSS操作

HTML事件函数

JavaScript特效和动画

HTML DOM 遍历和修改

AJAX

Utilities


在网页中添加jQuery有两种方式:1.下载引入2.在百度新浪等服务器中加载(国外有谷歌和微软)。

关于jQuery的版本:

v1.11.1:1.x支持IE6+

v2.1.1  :2.x支持IE9+



jQuery基本语法:


使用时,将jQuery文件放入工程,在HTML文件头引入jQuery的.js文件,然后再引入自己需要进行编辑的.js文件,注意这个文件一定要在jQuery的.js文件之后进行引入,因为要先加载jQuery,才有的用。



在使用jQuery时,首先要声明在文档加载完成后,调用哪些函数:

$(document).reday(function(){

//加载完成后要运行的函数。

});

PS:这里要注意括号和分号。



例子:

$(document).reday(function(){

$("button").click(function(){

$("p").text("p元素被修改了");

//这里注意选择器,直接用$("p")相当于HTML选择器,同样的可以使用id选择器$("#pid")和类选择器$(".pclass"),跟css一样。

});

});




jQuery常用事件:

1.单击:click

2.双击:dblclick

3.鼠标移动到上方:mouseenter

4.鼠标移开:mouseleave

其他更多的事件方法可以查阅文档。




当页面ready的时候需要多个事件的时候,若每个事件和函数都写在

$(document).ready(function(){

});

中,会占用大量内存降低效率,此时使用jQuery绑定事件来提高效率:也就是只在$(document).ready(function(){});中绑定事件函数,而具体的函数写在它外边。

jQuery绑定和解除绑定事件:

1.使用on(bind)来绑定事件

2.使用off(unbind)来解除事件绑定 


另外jQuery还可以自己定义事件。



jQuery关于HTML DOM的操作,即通过jQuery操作HTML元素:

获取元素的内容:

1.使用text()来获取或者修改元素的内容,括号中为空则获取,需要需改则把结果写入括号。

2.使用html()可以达到与上边类似的效果。两者的却别在于,text()只取内容,html()能够取得html标签。类似原生JavaScript中innerText和innerHtml的区别。

2.使用val()可以取得文本框的值。

获取元素的属性:

1.使用attr("属性名","属性值改为什么")来获取该属性名对应的属性值,或者修改属性值。使用时也可以同时修改多个属性,要注意写法。


jQuery也能实现回调:



jQuery添加和删除HTML元素:

添加内容:

1.append(""):在被选中元素的结尾插入

2.prepend(""):在被选中元素的开头插入

3.before(""):在被选中的元素之前插入

4.after(""):在被选中元素之后插入

PS:1.2在插入时不会换行,3.4插入的时候会换行


添加元素有三种方式(html,jQuery,JavaScript DOM),例子如下:



删除方法:

1.remove():删除整个元素

2.empty():将该元素里边的东西清空


jQuery实现常见的效果:

隐藏/显示:

1.使用hide()来隐藏对象

2.使用show()来显示隐藏的对象

3.使用toggle()来实现反复的隐藏显示,按一下隐藏,再按一下显示。

PS:括号中可以可以传入毫秒为单位的数字参数或者slow、normal、fast实现平滑过渡


淡入/淡出

1.fadeIn() 淡入

2.fadeOut() 淡出

3.fadeToggle()   集淡入淡出于一体

实现淡入淡出,括号里是平滑变化的时间

4.fadeTo(平滑延时,透明度)   改变透明度,透明度的值为0-1


滑动效果

1.slideUp() 上滑隐藏

2.slideDown() 下滑出现

3.slideToggle() 集上滑下滑于一体

PS:这里的滑动是指滑动出现和滑动隐藏,并非上下左右滑动。

PS:括号中可以可以传入毫秒为单位的数字参数或者slow、normal、fast实现平滑过渡





回调:

上述隐藏,淡入,滑动效果的括号里的时间后边都可以增加需要调用的函数,在动画执行完之后调用。这个方法称为回调


另外还可以多个动画一起调用,例如:


上边这个就是点击按钮的时候:1.改变css字体颜色2.上滑隐藏3.下滑出现。依次执行这三个动画。


jQuery的Ajax和扩展暂时没看


jQuery的CSS操作以及盒子模型

通过jQuery改变css样式:

1.使用css()改变样式,例如:


被注释掉的部分是比较麻烦的写法,下边的写法把多个需要改变的属性写在一起了。

2.使用addClass("类名")    对对象使用class类选择器的样式

3.使用removeClass()     对对象移除当前的class类选择器样式

4.使用toggleClass()    让对象在之前的类选择器样式和新增加的类选择器样式之间进行   反复切换。



jQuery的盒子模型:

1.高度分为:

1)height():   相当于CSS盒子模型中    content的高度

2)innerHeight():   相当于CSS盒子模型中     content+padding的高度

3)outerHeight():  中包含一个可有可无的参数:

若不传参数:则相当于CSS盒子模型中   content+padding+border的高度 

若传入参数true:则相当于CSS盒子模型中   content+padding+border+margin的高度



jQuery元素的遍历和过滤

jQuery元素的向下遍历:


当多个元素嵌套的时候,可以使用children和find方法来取得其中的子元素:

1.children()方法中参数可选,不写的时候是左右儿子辈的元素,写的时候可以写儿子辈元素的id来选中其中一个儿子。

2.find()方法中参数必填,find方法可以查找该元素下的所有子孙元素,参数是要查找的元素的id。


jQuery元素的向下遍历:


当多个元素嵌套的时候,可以使用以下方法来取得一个元素的父级元素:

1.parent()   参数可选,只取得该元素的直接父元素,就取一层

2.parents()  无参数时:取得该元素向上的所有元素,一直取到document元素。

   有参数时:参数为该元素向上的需要取得的元素的id,取该id对应的元素。

3.parentUntil()    无参数时:取得该元素向上的所有元素,一直取到document元素。

  有参数时:取该元素到参数id对应的元素之间的所有父级元素,不包含  该元素和参数id对应的元素。


jQuery元素的同级遍历:


多个元素同级的时候可以使用以下方法来遍历:

1.sibings()  反选,即除了该元素外的所有同级元素

2.next()    该元素的下一个同级元素元素

3.nextAll()   该元素之后的所有同级元素

4.nextUntil()   要有参数id,该元素到参数id对应的元素之间的所有同级元素。



jQuery元素的过滤,即选出一部分元素:


可以看到其中用了父子选择器的原理,取了所有包含p元素的div元素。

可以使用一下方法过滤元素:

1.first()   取得其中的第一个元素

2.last()   取得其中的最后一个元素

3.eq()     需要参数,取得其中第几个元素,序号从0开始

4.filter()   取其中满足条件的元素,在上例中取得了所有使用.pclass类选择器的元素

5.not()     取所有不满足条件的元素,在上例中则是取了所有不使用.pclass类选择器的       元素。



jQuery菜单实例:


上例中用了3种方式实现菜单显示:

1.使用jQuery但是用JavaScript的思路改变css的display属性来实现

2.使用show hide toggle来实现

3.使用slideDown slideUp slideToggle来实现



加入这个函数,改变菜单上的箭头图标



jQuery标签切换实例:


实现鼠标hover标题的时候改变下边的内容。这里解决了之前用原生JavaScript没能实现的延时功能,加了定时器,实现鼠标hover达到0.3s之后才进行改变,以此防止误操作。



标签切换时数据加载:

这里的布局部分,解决了之前用原生JavaScript实现切换效果时下边的线无法去除的问题。





0 0
原创粉丝点击