(1.第四章P58 展示效果有疑问,为什么是这样子的?是不是涉及到浮动与清除的问题?
2.如何分离javascript代码,就不用使用onclick等内嵌事件处理函数了,做到“平稳退化”
if(某个元素=xxx){
xxx.onclick=function(){}
}
3.HTML文档全部加载完毕时将触发一个window.onload函数,例1中使用这个函数可以保证所有的标签都被遍历到,防止文档还不完整时脚本就开始加载。
4.对象检测,检查浏览器是否支持某个方法
5.性能优化
5.1尽量少访问DOM和尽量减少标记,例如重复搜索整个DOM树查找某个匹配元素,可以先查找一次,将其保存在某个变量中,然后循环重用该结果。
5.2合并和放置脚本。
5.3压缩脚本,精简副本的文件名最好加上min字样,例scriptName.min.js。
6.共享onload的两种解决方案
7.动态创建标记,creatElement,appendChild,creatTextNode方法
creatElement方法创建元素节点
appendChild方法插入文档节点树
creatTextNode方法将文本放入元素中
insertBefore将一个新元素插入到一个现有元素的前面。insertBefore(newElement,targetElement)
DOM本身没有提供insertAfter,但是可以利用已有的insertBefore和其他方法来编写insertAfter函数(功能:把一个节点插入到另一个节点之后)
8.CSS-DOM
8.1当我们在JS中引用一个中间带减号的CSS属性时,DOM要求我们用驼峰命名法,简单的直接加减号进去会 报错。
8.2CSS-DOM无法处理外部样式表中声明的样式,只能处理包含在HTML代码中用style属性声明的样式。但是可以通过JS来更新覆盖原来的样式。
9.用Javascript实现动画效果
9.1parseInt可以把字符串里的数值信息提取出来。例:parseInt("39 steps"),返回数值39。
9.2js中使用‘+’号作为连接符。在JS中字符型常量使用引号,不加引号的为变量。
9.3CSS的overflow属性用来处理一个元素的尺寸超出其容器尺寸的情况。还可以通过overflow属性告诉浏览器是否需要显示滚动条。
9.4Math.ceil(number) 这将把浮点数Number向“大于”方向舍入为与之最接近的整数;
Math.floor(number) 这将把浮点数向“小于”方向舍入为与之最接近的整数;
Math.round(number) 这将把任意浮点数舍入为与之最接近的整数;
10.HTML5
10.1canvas
10.2video
①video如果想要创建自定义控件,记得在<video>元素中添加control属性
例:<video src="movie.ogv" control>
②addEventListener(type,function,boolean)第三参数是一个布尔值,如果是true表示在捕获阶段调用,如果是false表示在冒泡阶段调用。
问题:video例子中最后按钮没办法点击
10.3表单
①如果没有使用Modernizr,可以使用以下JS函数来检查
如果使用Modernizr,例如:If(!inputSupportsType('date')){//生成日期选择器的脚本}
11.综合示例