- 尺寸设置
$('.div_01').width();//获取/设置元素的尺寸
$('.div_01').height();
$('.div_01').innerWidth();//获取/设置元素的尺寸(包含padding的宽高)
$('.div_01').innerHeight();
$('.div_01').outerWidth();//获取/设置元素的尺寸(包括padding和border的宽高)
$('.div_01').outerHeight();
$('.div_01').outerWidth(true);//获取/设置元素的尺寸(包括padding、border和margin的宽高)
$('.div_01').outerHeight(true);
$('.div_01').offset().top;//获取相对元素的位置
$('.div_01').offset().left;
$('.div_01').position().top;//获取相对父元素的位置
$('.div_01').position().left;
$(window).height();//获取可视区的宽高
$(window).width();
$(document).width();//获取页面的宽高
$(document).height();
$(document).scrollTop();//获取页面滚动距离
$(document).scrollLeft();
页面滚动事件(滑轮事件)
$(window).scroll(function(){
})
- 事件
- 事件函数
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() 用户离开页面
- 事件绑定
方法1:
$('document').on('事件','元素名',function(){})
方法2:
$('父元素').bind('事件1','事件2',function(){})
- 取消绑定
$('元素'),unbind('事件');
- 事件的主动触发和自定义
可使用jquery对象上的trigger方法来触发对象上绑定的事件
自定义事件 :
$('.div_01').bind('事件名称',function(){
}).trigger('事件名称');
-
事件冒泡
在一个对象上触发某类事件,如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播
事件冒泡允许多个操作被集中处理,但有时并不需要事件冒泡,就需要阻止事件冒泡
event.stopPropagation(); //阻止事件冒泡
event.preventDefault(); //阻止默认行为
-
事件委托
事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
事件委托
$('body').delegate('.div_01','click',function(){
})
取消委托事件
$('#btn').click(function(){
$('body').undelegate();
})
- DOM操作
创建元素
方法1:
var $div = $('<div>');
方法2:
var $div2 = $('<div>这是一个div</div>');
插入节点的方式
append() //向每个匹配的元素内部追加内容
appendTo() //将所有匹配的元素追加到指定的元素
prepend() //向每个匹配的元素内部前置内容
prependTo() //将所有匹配的元素前置到指定的元素中
after() //在每个匹配的元素之后插入内容
insertAfter() //将所有匹配的元素插入到指定元素的后面
before() //在每个匹配的元素之前插入内容
remove() //删除节点