js中阶 |
javascript中阶
瀑布流
利用随机数创建随机的height 通过scrollTop+clientHeight>=scrollHeight类判断到达底部 到达后寻找出最短的标签 给其插入盒子
事件对象
事件对象:鼠标发生事件(只要是事件)时包包含的信息:1.点击时的位置 clientX x坐标 写法: function(eve){ var ev = event || eve 兼容写法 console.log(ev.clientX,ev.clientY) }
放大镜原理
通过改变大图在大盒子里的定位位置实现放大效果
时间 date new Date() 获得日期
getfullyear()年
getmonth() 月
getdate() 日
getday()星期
gethours()时
getminutes()分
getseconds()秒
键盘事件
onkeydown:当某键按下时如何
onkeyup:当某件松开时如何
事件绑定
对象.addEventListener(事件名去掉on,function(){}/函数名,false/true); false 代表以冒泡形式执行(从里往外执行),true 代表以捕获形式执行(从外住里执行)
IE8 事件绑定 obj.attachEvent(事件,匿名函数 function(){}/函数名)
函数节流
声明一个变量为true 进入时让其变为false 起到开关作用 再利用定时器延时执行 达到函数节流效果
去除默认事件
return false 在事件绑定里不可用
ent.preventDefault()在事件绑定里专用
懒加载
offsetParent 找的是定位父级对象
函数封装方法
while方法
function zpc(obj) {
var l = 0;
var t = 0;
while (obj != null) {
l += obj.offsetLeft
t += obj.offsetTop
obj = obj.offsetParent
}
return {左:l,上:t}
}
getBoundingClientRect().属性 返回值是数字,注意兼容问题,有时获取不到
正则表达式
选择
i 忽略大小写
g 全局的所有的
m 多行
转义 \
\d 数字
\D 非数字
\w 英文数字,下划线
\W 非英文数字下划线
\s 空白符
\S 非空白
。点 任意 没有
修饰
^ 行首
$ 行尾
\b 单词边界
| 或
() 分组
cookie
以键(名称)和值形式存储的,
存储:cookie在用户硬盘上存储格式
cookie过期时间(或者删除) ,通过expires=时间设置,如果不设置,浏览器关闭cookie会消失
json对象
一个功能块的方法通过对象放到一起,也可以避免函数重名
遍历对象要用 for in
对象没有.length方法
先遍历最外层 是数组用 for循环 是对象用 for in
bom方法
window.open('http://www.baidu.com','_self') 常用的两个参数(网址,目标地址),目标地址:_blank新建标签页,_self 本页面打开
window.open('','');打开空窗口
document.write();输出到页面;
window.document.write('bmw'); document的父级就是window
window.confirm(提示信息); 确认消息框
window.confirm('提示用户信息')
window.prompt(提示信息,默认值); 输入消息框
Math对象
Math.PI 获取π值
Math.SQRT2 2的平方根
pow() 几次方
sqrt() 开平方根
绝对值 abs
向上取整 ceil
向下取整 floor
四舍五入 round()
随机数 random()
最大数 max()
最小数 min()