event对象
event是一个浏览器内部的对象(注意,不是网页标签对象),它代表事件发生的时候跟事件有关的相关信息的集合体(对象就是信息的集合体)——它只在事件发生的时候存在!
event通常就只用于获取在事件发生的时候的有关信息,比如:鼠标该时刻的坐标位置(x和y),是哪个网页对象发生了该事件,发生事件的时候是哪个鼠标按键触发的,或哪个键盘上的键。以上信息由以下几个event属性来获取:
event.clientX ——获取事件发生的时候鼠标的x坐标位置
event.clientY ——获取事件发生的时候鼠标的y坐标位置
event.target ——获取事件发生的时候的那个标签对象(适用于FF)——类似getElementById获取的对象
event.srcElement ——获取事件发生的时候的那个标签对象(适用于IE)——类似getElementById获取的对象
——事件发生的时候的那个标签对象通常被称为“事件源”。
event.keyCode ——键盘事件发生的时候的按键的键值——键盘上每个键都对应一个数字值。
this和event的使用对比:
<标签名1 on事件名=”函数名f1(this)” >。。。。。</标签名1>
<标签名2 on事件名=”函数名f2(event)” >。。。。。</标签名2>
<script>
function f1 ( obj )
{
//在此范围内,obj代表的就是“标签名1”这个对象,类似使用getElementById获得的对象
}
function f2 ( evt )
{
//在此范围内,evt代表的是事件发生的时候的event对象。
//这里使用evt,基本上也就是使用其以下属性(根据需要取用):
var v1 = evt.clientX; //获得鼠标当时的x坐标
var v2 = evt.clientY; //获得鼠标当时的y坐标
var v3 = evt.keyCode; //获得键盘的按键值(只对键盘事件有效)
var v4 = evt.target; //获得事件源对象,IE是:evt.srcElement;
}
</script>
满天星星案例知识细节:
var star = document.createElement("img"); //创建一个标签名为img的对象——其实也就是标签
通用形式:var obj = document.createElement(“标签名”); //创建指定标签的对象。
var bd = document.body; //代表body那个标签对象,这里就是相当于直接获取了网页中的body那个标签对象。
bd.appendChild( star ); //在bd这个对象中,放入star这个对象。bd这个对象应是一个“容器盒子”——就是双标签——相当于在一个标签里放另一个标签。
通用形式: obj1.appendChild( obj2 ); //这里就是将obj2这个对像放入obj1中作为其“子对象”,也就是相当于obj1这个标签中又多了另一个标签。
样式名在js中的写法
var obj = document.getElementById(“xxxxx”);
var v1 = obj.style.样式属性名; //取得样式属性的值
obj.style.样式属性名= 某值; //设置样式属性的值
则对照我们的css样式属性名:
border, color, font-size, font-weight, background-color, background, border-top, border-top-color…….
则是否就写成这样呢?
obj.style.color= xxx
obj.style.font-size= xxx
obj.style.background-color= xxx
上述后两个是错误的语法!
那么css语法中的样式属性名和js语法中的样式属性名的对应关系是:将css名中的中杠(-)删除,并且将其后紧挨着的单词首字母大写。——第二个单词开始首字母大写。
网页对象关系图( DOM/BOM):
实际上,我们整个浏览器和网页中的对象都有千丝万缕的各种关系(最主要就是“层次关系”)。。。
- DOM:Document Object Model——文档对象模型:规定一个文档中的各个组成部分(这里也就是标签对象)相互关系的基本结构模型。
- BOM:Browser Object Model——浏览器对象模型:规定一个浏览器中的各个组成部分(也就是那不多的几个对象)之间的相互关系的结构模型。
Window对象
window对象就是“窗口对象”,也就是任何一个打开的网页,其一定是“装载”到一个window对象中。window对象就代表该窗口。学习window对象其实无非是学习window所提供的几个方法(类似学习event对象无非是学习使用event对象的几个属性)
- window对象的几个弹出对话框的方法:
- window.alert(“这里是文字信息”); //可以认为只是一个文字性提示信息。
- var v1 = window.prompt(“文字提示”,“默认信息”) //弹出一个供用户输入文字信息的对话框。通常用于向用户提出一个需要文字来回答的问题。其会返回一个“字符串值”
- var v2 = window.confirm(“一个是否性的问题”); //弹出一个向用户询问“真假”的问题,用户可以回答“真假”。通常用于向用户提出一个需要进行“是/否”性回答的问题。其会返回一个布尔值(true/false)
window对象弹出窗口的方法:
window.open();——可以弹出一个“小”窗口,该窗口里也就能够“放置”一个网页。
语法形式如下:
window.open(“要打开的网页地址url”,“自己给新窗口的名字name”,“新窗口的外观参数设定para”);
url:可以是相对地址或绝对地址。
name:自定义的名字,遵循命名规则就可以,比如n1, win1, s1
para:此设定有若干项,每项之间用逗号分隔,每项的形式为:项名=值。举例如下:
width=400,
height=300,
left=500, //表示离屏幕的左边的距离
top=300, //表示离屏幕的顶部的距离
menubar = yes; //表示打开的窗口具有菜单栏(no就没有),也可以使用1,0
toolbar = yes; //表示打开的窗口具有工具栏(no就没有),也可以使用1,0
location = yes; //表示打开的窗口没有地址栏(no就没有),也可以使用1,0(实际现代浏览器对此已经失效了,变成location必须显示)
scrollbars=yes; //表示打开的窗口具有滚动条。
…………. 查《Dhtml完全手册》
- 综合举例:
window.open(“ http://www.baidu.com” , “db”, “width=400, height=300, left=500,top=300, menubar=yes, toolbar=1” )
window对象的定时器方法:
- 定时器:是指让浏览器每隔一定的时间自动去做一定的事情!
语法形式:
var t1 = window.setInterval(“要执行的代码s”,间隔时间t); //这叫做“创建一个定时器”,名字为:t1 - 解释:每隔设定的时间t,都会去执行引号中的代码s。t的单位是“毫秒”。这里,要执行的代码通常都是用一个函数调用语句,真正要做的事情是到函数中去完成。
定时器一旦创建,则其会自动“让别人”允许,其本身要么“活下去”,要么“死亡”,“死亡”其实就说是别再反复“调用别人”了--即不会再执行别的代码了。对于图片切换,也就是相当于“不再切换了”。