现在已经不推荐使用arguments.callee();
原因:访问 arguments 是个很昂贵的操作,因为它是个很大的对象,每次递归调用时都需要重新创建。影响现代浏览器的性能,还会影响闭包。
可以采用方法名调用
原因:访问 arguments 是个很昂贵的操作,因为它是个很大的对象,每次递归调用时都需要重新创建。影响现代浏览器的性能,还会影响闭包。
可以采用方法名调用
2017-09-14
其实用jQuery绑定可以简单很多
img.on('mouseover', function(event) {
event.preventDefault();
event.stopPropagation();
var index = $(this).index();
reset();
for (var i = 1; i <= index; i++) {
img.eq(i).css('left', 160 * i);
}
});
img.on('mouseover', function(event) {
event.preventDefault();
event.stopPropagation();
var index = $(this).index();
reset();
for (var i = 1; i <= index; i++) {
img.eq(i).css('left', 160 * i);
}
});
2017-09-06
是DOM文档加载的步骤为
1.解析HTML结构
2.加载外部脚本和样式文件
3.解析并执行脚本文件
4。DOM树构建完成 会触发DOMcontentLoaded事件
5.加载图片等外部文件
6页面加载完毕 会触发window.onload事件
DOMready会是在步骤4触发的
window.onload是在步骤6触发的 为了提高用户体验 你总不能等图片页面加载完才执行那些js代码吧 比如给页面上的按钮绑定点击事件 这样就很糟糕了;
1.解析HTML结构
2.加载外部脚本和样式文件
3.解析并执行脚本文件
4。DOM树构建完成 会触发DOMcontentLoaded事件
5.加载图片等外部文件
6页面加载完毕 会触发window.onload事件
DOMready会是在步骤4触发的
window.onload是在步骤6触发的 为了提高用户体验 你总不能等图片页面加载完才执行那些js代码吧 比如给页面上的按钮绑定点击事件 这样就很糟糕了;
2017-09-01
for(var k=1;k<=i;k++){
imgs[k].style.left =k*exposeWidth+'px';;
}
for(var j=i+1;j<imgs.length;j++){
imgs[j].style.left = imgWidth+(j-1)*exposeWidth+'px';
}
imgs[k].style.left =k*exposeWidth+'px';;
}
for(var j=i+1;j<imgs.length;j++){
imgs[j].style.left = imgWidth+(j-1)*exposeWidth+'px';
}
2017-09-01