Posted on 2013-09-09 10:55 阅读(482) 评论(1) JavaScript是什么 JavaScript就是修改样式 编写JS的流程 布局:HTML+CSS 属性:确定要修改哪些属性 事件:确定用户做哪些操作(产品设计) 编写JS:在事件中,用JS来修改页面元素的样式 例子:鼠标提示框 鼠标移入到input上的时候,让div1显示 鼠标移出input的时候,让div1隐藏 div1显示: div1的display变成block 分析效果实现原理 样式:Div的display 事件:onmouseover (鼠标移进时)、onmouseout (鼠标移出时)、 onclick(鼠标点击时) 特效基础事件驱动:onmouseover 元素属性操作:obj.style.[……] 特效实现原理概括:响应用户操作,对页面元素(标签)进行某种修改 CSS部分:
html部分:
οnmοuseοver="div1.style.display='block';" 事件:当鼠标移入=修改div1的样式的display改变为=block οnmοuseοut="div1.style.display='none';" 事件:当鼠标移出=修改div1的样式的display改变为=none 为了避免兼容问题,不能直接引用元素的id,要使用document.getElementById( )来获取元素:
获取元素: document.getElementById( )的意思: get Element By Id ↓ ↓ ↓ ↓ 获取 元素 用 id 通过ID获取元素. 最终代码:
例子制作更复杂的效果(DIV的颜色、大小都变化)
直接在事件内写html代码会很乱,所以需要引入fucntion()、 函数的基本形式 function 函数名 ( ) { 代码 } 把JS从标签里放入到函数里,类似css里的class 当以后需要的时候,直接调用函数名即可. 变量的使用——别名 var 定义变量名= 最终代码:
函数的两个慨念: 函数定义:只是告诉系统有这个函数,不会实际执行,可以想象成一个存放代码的盒子. 函数调用:真正执行函数里的代码 函数的定义和调用缺一不可,只有定义没有调用,函数将没有任何意义,只有调用没有定义,浏览器将报错.
例子网页换肤 改变,link标签下的href链接css文件来实现换肤功能.
从这个例子中可看出,任何标签都可以加ID,包括link 任何标签的任何属性,都可以修改. 例子第一种操作修改属性的方法--修改文字
HTML里怎么写,JS里就怎么写. if判断-if的基本格式
例子,显示隐藏 分析: 当点击的时候,如果div是显示的,那么就隐藏掉,(把div的style的display设置为none) 当点击的时候,如果div是隐藏的,那么就显示出来,(把div的style的display设置为block)
最终代码:
在JS中,一个=号,代表赋值,例如 a=5代表,赋值a为5或把a改变为5. 在JS中,两个==号,代表判断. 例如在显示隐藏例子中,(odiv.style.display=="block") 就是判断,div中样式的display是不是block. 总结:JS中,一个=号是赋值,两个=号是判断. JS中class的使用:className JS中不可以直接引用class名字,需要写成className=class名字
函数传参:函数的参数就是一个占位符. 什么时候用传参:------函数里有定不下来的东西的时候使用传参. 例如此例中的num.
参数可以传多个,如此例:
例子,div变色
例子,第二种操作修改属性参数的方法--改文字
在JS中,凡是用.的地方,同样也可以使用[ ] 什么时候使用第二种操作属性的方法: 当要修改的属性不固定时, 例子,div改变样式,将属性名作为参数传递
变量和字符串的区别. 变量里面的值是可以改变的, 字面量(也叫常量):看到的东西,是什么就知道它是什么,它包含数字和字符串.它的值是固定的,看到它就知道它里面存的是什么. 除了字面量外还有一种东西,叫变量,例如,var a=? a里面的值是不固定的,只看a本身是不知道它里面存的是什么的, 总结:如果你用的是一个变量或者参数,那么它的两边就不需要引号,如果是一个字符串它的两边就必须要加上引号, style与className style操作修改的是行间样式,它的优先级比className大,所以如果对一个元素先使用了style再修改它的className将不会有效果, 总结,为了避免混乱出错,对同一个元素,要不就都使用style,要不就都使用className,两者不要混用. 提取行间事件 如何为一个元素添加事件,有两种方法: 第一种:给函数命名
第二种匿名函数,其实在JS里,是可以不给函数取名字的.
总结,在JS里,当需要给一个元素比如按钮,添加事件的时候,有两种方法,第一种,先写一个函数,并且给这个函数取一个名字,然后把函数名字,赋值给元素调用,
第二种方法,不给函数命名,使用匿名函数,直接把匿名函数赋值给元素调用.
window.onload的意义 一般我们不会把JS代码放到body标签和行间代码之中,都是放在head头标签中,而JS的执行顺序是由上到下,为了解决加载执行顺序的问题,所以要使用window.onload事件.它的作用是当页面加载完成时,再执行JS代码.
获取一组元素 getElementsByTagName while循环
while循环格式
任何一个循环都包含四个部分
for循环格式
用for循环为一组元素添加事件, 什么时候使用for循环--------一组元素. 获取一组元素,for循环小例子 getElementsByTagName获取一组元素
ps:计算机的计数是从0开始的,所以把i的初始值定为0. getElementsByTagName获取一组元素2:根据元素组所包含元素个数,进行自动循环
附注: adiv.length length(个数)根据元素组有多少个元素个数,自动进行循环次数
小例子: 反选——for循环配合if判断
|