一、动画
show:显示隐藏的元素(无动画)
hide : 隐藏显示的元素 (无动画)
fadeIn:通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。
fadeOut:通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。
fadeTo:把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数。
slideDown:通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。
slideUp:通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。
slideToggle:通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。
animate:用于创建自定义动画的函数。
stop:停止所有在指定元素上正在运行的动画。
delay:设置一个延时来推迟执行队列中之后的项目。
finish:停止当前正在运行的动画,删除所有排队的动画,并完成匹配元素所有的动画。
二、DOM操作
.css()、addClass(“className”)、removeClass()、toggleClass
.attr()、removeAttr()、.val()、.html(“<p></p>”)、
text()
node.append(“我是追加的内容</p>”)/appendTo() 在节点内部后面追加元素/将元素追加到节点内部后面
prePend()/prependTo() 在节点内部前面追加元素/将元素追加到节点内部前面
before(node)/after(node) 在节点前/后面添加兄弟节点
node.insertBefore()/node.insertAfter() 将节点作为兄弟节点添加到节点前/后面
node.remove(); //删除指定节点及所有子节点 推荐使用node.html(""); 方式清空
node.empty(); //删除节点的所有子节点
node.clone(booolean); //复制节点 参数是否深层克隆(克隆绑定的事件)
node1.wrap(node2); //用node2包裹node1
node1.replaceWith(node2); //把node1节点换成node2节点
三、元素操作
3.1 高度和宽度
$(“div”).height(); //高度
$(“div”).width(); //宽度
.height()方法和.css(“height”)的区别:
返回值不同,.height()方法返回的是数字类型(20),
.css(“height”)返回的是字符串类型(20px),因此.height()方法常用在参与数学计算的时候
3.2 坐标值
$(“div”).offset(); //获取或设置坐标值 设置值后变成相对定位
$(“div”).position(); //获取坐标值 子绝父相只能读取不能设置
3.3 滚动条
$(“div”).scrollTop(); //相对于滚动条顶部的偏移
$(“div”).scrolllLeft(); //相对于滚动条左部的偏移
四、jQuery事件
4.1 绑定
// 绑定事件
bind:$node.bind(“click”,function(){});
//绑定两个事件
bind:$node.bind({“click”:function(){},"onmouseenter",function(){}});
// 触发一次
one : $node.one(“click”,function(){});
//绑定多个子元素
delegate : $node.delegate(“p”,”click”,function(){});
//强烈推荐
on: $node.on(“click”,”p”,function(){});
4.2 解绑
unbind
undelegate
off
4.3 触发
click : $(“div”).click();
trigger:触发事件,并且触发浏览器默认行为
triggerHandler:不触发浏览器默认行为
4.4 事件对象介绍
event.stopPropagation() //阻止事件冒泡
event.preventDefault(); //阻止默认行为
五、jQuery其他补充
5.1 隐式迭代
默认情况下,会自动迭代执行jQuery选择出来的所有dom元素的操作。
如果获取的是多元素的值,默认返回的是第一个元素的值。
5.2 map函数
$.map(arry,function(object,index){}) *返回一个新的数组*
var arry = $("li").map(function(index, element){}) *注意参数的顺序是反的*
5.3 each函数
$.each(array, function(index, object){})
$("li").each(function(index, element){} ) //参数的顺序是一致的。
5.4 全局对象污染冲突
var newJq = $.noConflict();//让jQuery释放 $, 让$ 回归到jQuery之前的对象定义上去。
5.5 jQuery.data() 数据缓存
$(".nav").data("name", 123);//设置值。
var t = $(".nav").data("name"); //获取值
t.name = "18";//对象的更改,会直接同步到 元素的jQuery对象上去。
5.6 jQuery插件
全局jQuery函数扩展方法
$.log = function() {}
jQuery对象扩展方法
$.fn.log = function() {}