div的原型
- attributes
- 行内属性
- classList:
- classList.add() 增加类名
- classList.remove(); 移除类名
- classList.toggle(‘d’) 如果有类名d就移除类名d,若果没有就添加类名d(toggle:en,n.触发器、开关)
- firstChild/lastChild
- firstElementChild/lastElementChildren
- hidden
- innerHTML
- innerText
- localName:小写的标签名
- nodeType: 1/2/3/8/9/12……
盒子模型
client
- Width:内容宽度+左右padding
- Height:内容高度+上下adding
- Left:左边框的宽度
- Top: 上边框的宽度
- ps:右边框的宽度 1offsetWidth-clientWidth-clientLeft
- ps:右边框的宽度
draggable:true/false 能否被拖拽
offset
- Width:clientWidth+左右border
- Height:clientHeight+上下border
- Parent: 如果父元素存在定位属性(position:relative|absolute|fixed)那么这个offsetParent的值为父元素,如果不是则继续向上级找,查找的body后还没有,则将body作为属性值; => 父级参照物
- ps:body.offsetParent => null;
- ps:document.parentNode => null;
- Left:取决于offsetParent,获取都是当前盒子的外边框距离到offsetParent的内边框的距离 ==》左偏移量
- Top:取决于offsetParent,获取都是当前盒子的上边框距离到offsetParent的内边框的距离 ==》上偏移量
- ps: body.offsetLeft => 01234567891011121314151617181920/*** 求元素相对于body的偏移量* @param ele 元素* @returns {{left:左偏移量 , top: 上偏移}}*/function offset(ele) {var l = null, t = null;l += ele.offsetLeft;t += ele.offsetTop;var par = ele.offsetParent;while (par) {l += par.clientLeft + par.offsetLeft;t += par.clientTop + par.offsetTop;par = par.offsetParent; //更新迭代的par}return {left: l,top: t}}
- ps: body.offsetLeft => 0
scroll
- onfocus :获取焦点
- onblur: 失去焦点
- oncanplay:一般用于媒体文件可以播放的时候
- oncanplay
onchange ==>select
12345678910<select name="" id="select"><option value="0">沈阳</option><option value="1">大连</option><option value="2">鞍山</option><option value="3">抚顺</option><option value="4">本溪</option></select>select.onchange =function(){}ondblclick:双击
- onload:加载成功
- onerror:加载失败
- oninput
- onkeydown:键按下
- onkeyup:键弹起
- onmousedown:鼠标按下的时候
- onmouseup:当鼠标弹起的时候
- onmousemove:鼠标移动
- onmouseover:鼠标悬停
- onmouseout:鼠标离开
- onmouseenter:onmouseover
- onmouseleave:onmouseleave
- onmousewheel:鼠标滚轮 =》判断滚轮的方向
- onpause:暂停
- onpaly:开始
- onprogress:进度条
- onratechange:码率
- onresize:当大小发生改变的时候==》window.onresize/文本域
- onscroll:滚动条滚动的时候
- onsubmit:提交按钮提交的时候触发的时候
util==>offset、win、jsonParse、listToArray、getCss
|
|
如何获取元素已经生效的样式
- window.getComputedStyle(ele)[attr]; ie8-不兼容
- 兼容写法:ele.currentStyle[attr];
- 关于透明度
- 标准中的透明度是 opacity:0-1;
- ie中的透明度为 filter:alpha(opacity=0-100);
- 所以为了兼容ie捕获透明度必要时要用正则进行筛选、捕获、和转换123456789101112131415161718192021function getCss(ele, attr) {// debugger;var val = null;if (window.getComputedStyle) {val = window.getComputedStyle(ele)[attr];} else {if (attr == 'opacity') {val = ele.currentStyle.filter;var reg = /alpha\(opacity=(\d+(?:\.\d+)?)\)/;if (reg.exec(val)) {val = reg.exec(val)[1] / 100} else {val = 1}} else {val = ele.currentStyle[attr];}}var reg = /^-?\d+(?:\.\d+)?(px)?$/; //如果验证能通过就去掉引号和单位否则返回字符串格式return reg.test(val) ? parseFloat(val) : val;}
- 关于透明度
设置css
|
|