readme
1.改变this指向的方式
以下属于函数的方法
.call(); call(thisScope,arg1,arg2.arg3...)改变this的指向并且调用它
.apply(); apple(thisScope [arg1,arg2.arg3...]);两个参数:指向,数组.改变this的指向并且调用它
.bind(); bind(thisScope,arg1,arg2.arg3...)改变this的指向,返回的是函数
2.Math对象的方法
Math.random();
Math.ceil();
Math.floor();
Math.round();
Math.sin(); //三角函数
Math.PI; //圆周率
Math.abs();
Math.max();
Math.min();
Math.pow(); //平方
Math.sqrt(); //开方
3.求数组里面的最大值和最小值
arr = [1,2,3,4,5,6];
Math.max.apply(null,arr);
Math.min.apply(null,arr);
4.获取非行间样式
现代浏览器支持:getComputedStyle(ele)返回样式对象 不能修改
如需修改样式,使用element.style.height = "200px";
IE8以下使用什么来获取非行间样式呢?
ele.currentStyle
5.全局函数
setInterval();
setTimeout();
paseInt();
getComputedStyle();
6.document整个文档对象
document.documentElement 页面根元素 html
document.body 页面中body 元素
7.只读 获取的是number
(定位父级:祖先元素设置有position:relative/absolute/fixed之一,没有则为body)
element.offsetParent 定位父级
element.offsetLeft 相对定位父级的左偏移
element.offsetTop 相对定位父级的上偏移
element.offsetWidth 宽度 包括 border + padding + width;
element.offsetHeight 高度 包括 border + padding + width;
element.clientWidth 宽度 包括 padding + width;
element.clientHeight 高度 包括 padding + width;
element.clientTop 元素上边框宽度
element.clientLeft 元素左边框宽度
8.ele.children 元素ele所有子元素组成的数组[实际上 是类数组对象]
//不能使用真正数组的方法,如push pop unshift shift
2.demo
1.点击返回顶部
由于 document.documentElement.scrollTop = 0; //chrome 不支持
document.body.scrollTop = 0; //firefox不支持 故封装一个函数来做兼容,并且使用套路代码来做缓动.
2.获取非行间样式
只能读取,
通过getComputedStyle来获取伪元素由于存在兼容性问题,IE8以下使用currentStyle, 所以下面是兼容性的封装函数
网友评论