**Bom:浏览器对象模型
浏览器在加载HTML文件时,JavaScript引擎会把浏览器的各个部分的信息封装到对象中,浏览器
会分为以下几个对象
窗口: windows对象
地址栏: location对象
历史记录栏: history对象
屏幕 screen对象
通过JavaScript引擎提供给这个四个对象来操作浏览器,就是Bom编程
**有哪些对象?
***navigator: 获取客户机的信息(浏览器的信息)
navigator.appName
documnet.write(navigator.appName);
***screen 获取屏幕的大小
availHeight
availWidth 是排除了任务栏之后的高度和宽度
document.write(screen.width);
document.write(screen.height);
**location 请求URL地址
对象表示的一个窗口中的地址栏
href属性
代表的是地址栏的URL, 可以获取和设置URL,URL表示统一资源定位符
***获取到请求的URL地址
-document.write(location.href);
***设置URL地址
通过修改location对象的href属性来实现页面得跳转
-页面上安置一个按钮,按钮上绑定一个事件,当我们点击这个按钮,页面就可以跳转到另外一个页面
-location.href="hello.html";
***<input type="button" value="anniu" onclick="href();"/>
-鼠标点击事件 onclick=JS的方法";
reload()方法:表示刷新当前页面
window.location.reload();
**history: 请求的URL的历史记录
forward():前进到下一页
back(): 回到上一页
go() 跳转到某页(正整数 前进 负整数 后退)
-创建三个页面
1.a.html 写一个超链接到 b.html
2. b.html 写一个超链接到 c.html
3.c.html
-到访问的上一个页面
history.back();
或 history.go(-1);
-到访问的下一个页面
history.go(1);
history.forward();
widow(重点* 代表的是一个窗口
*窗口对象
*顶层对象(所有的bom对象都是在widow里面操作的)
**方法
widow.alert();
因为Window对象使用非常频繁,所以当频繁调用is中的window的对象的方法时,可以省略不写
**简写alert( );页面弹出一个框,显示内容
-confirm() 确定提示框
/*
返回值就是用户的操作
true:点击确定
false:点击确定
*/
**var flag=widow.confirm("显示的内容");
-prompt() 输入对话框
-widow.prompt(“在框上显示的内容","输入框里面的默认值");
var flag=widow.rrompt() 点击确定 或是取消
-open(); 在一个窗口打开一个页面,打开一个新的窗口
/*
参数一:打开的页面
参数二:打开方式, _self:本窗口 _blank新窗口(默认)
参数三:设置窗口的参数:比如窗口的大小,是否显示任务栏
*/
window.open("0.1html","_self","width=“10px;height=20;toolbar=0");
**open("打开新窗口的地址URL", " ","窗口特征,比如窗口的宽度和高度");
-创建一个按钮,点击这个按钮,打开一个新窗口
-widow。open("hello.html"," "," width=200;height=100");
-close(); 关闭窗口(浏览器兼容器比较差)
清楚任务
参数一:需要清除的任务ID
-widow.close();
-做定时器
/*
定时器:每隔n毫秒调用指定的任务(函数)
参数一:指定任务
参数二 :毫秒数
*/
var testID;
**setInterval("JS代码",毫秒数); 1秒=1000毫秒
-表示每三秒,执行一次alert房啊
testID= widow。setInterval("alert('123');"3000);
**setTimeoout("Js代码“,毫秒数)
-表示在毫秒数之后执行,但是只会执行一次
widow.setTimeout("alert('abc');",4000 );
**clearInterval() 方法可取消由 setInterval() 设置的 timeout。
var id=widow。setInterval("alert('123');"3000);
clearInterval(id);
**clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。
var id=widow.setTimeout("alert('abc');",4000 );
clearTimeout(id);
2.事件编程
javase的时间编程
GUI编程事件的三个要素
事件源: 按钮JButton ,JFrame
事件:KeyEvent, WindowEvent
监听器:KeyListener WindowListener
GUI编程具体步骤
1)创建事件源
2)编写监听器
3)在事件源上注册监听器
JavaScript时间编程的三要素
1)事件源: HTML标签
2)事件: click Dblclick mouseover
3.)监听器(函数)
监视器(函数)
<script type="text/javascript">
function test(){
alert("");
}
</script>
事件源
<input type="button" value="按钮" onclick="test()"/> 注册监听器(函数)
JavaScript事件分类一些常用的
span:放些简单的文字
fontcolor给字符串添加颜色
点击相关:
单击: onclick
双击: ondblclick
焦点相关的
聚焦: onfocus
失去焦点:onblur
选项相关的:
改变选项:onchange
和鼠标相关的
鼠标经过 onmouseover
鼠标移除 onmouseout
页面的加载相关的
页面加载: onload
这个事件在加载完整个标签后再触发,通常用在body标签中,所以在
加载完body全部内容后就出发该方法
相关代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>事件编程</title>
<style type="text/css">
div{
width: 50px;
height: 50px;
background: #00ccdd;
}
</style>
<script type="text/javascript">
function testOnclick(){
alert("点击显示内容");
}
function testDblclick(){
alert("双击显示内容");
}
function testFocus(){
var userName=document.getElementById("userName");
userName.value="";
}
function testBlur(){
var username=document.getElementById("userName").value;
var userNameTip=document.getElementById("userNameTip");
if(username=="eric"){
userNameTip.innerHTML="用户名已存在..请更改!!!".fontcolor("red");
}
else{
userNameTip.innerHTML="恭喜你,可以正常使用".fontcolor("green");
}
}
function testChange(){
var jiguan=document.getElementById("jiguan").value;
alert(jiguan);
var city=document.getElementById("city");
city.innerHTML="";
if (jiguan=="广东") {
var arr=["广州","珠海","深圳"];
for(var i=0;i<arr.length;i++){
city.innerHTML+="<option value='"+arr[i]+"'>"+arr[i]+"</option>";
}
}
if (jiguan=="广西") {
var arr=["柳州","桂林","南宁"];
for(var i=0;i<arr.length;i++){
city.innerHTML+="<option value='"+arr[i]+"'>"+arr[i]+"</option>";
}
}
if (jiguan=="湖南") {
var arr=["长沙","湘潭","郴州"];
for(var i=0;i<arr.length;i++){
city.innerHTML+="<option value='"+arr[i]+"'>"+arr[i]+"</option>";
}
}
}
function testOnmouseOver(){
alert("鼠标已经过");
}
function testOnmousrOut(){
alert("鼠标已经离开");
}
function testOnLoad(){
var date=new Date();
var dateTip=date.toLocaleString().fontcolor("bule");
var timeTip=document.getElementById("timeTip");
timeTip.innerHTML=dateTip;
}
window.setInterval("testOnLoad()",1000);
</script>
</head>
<body onload="testOnLoad()">
<input type="button" value="单击" onclick="testOnclick()" />
<input type="button" value="双击" ondblclick="testDblclick()"/>
<hr/>
输入用户名:<input type="text" value="4~16数字或字母" onfocus="testFocus()" id="userName" onblur="testBlur()" />
<span id="userNameTip"></span>
<hr/>
请输入籍贯:
<select onchange="testChange()" id="jiguan">
<option value="广东">广东</option>
<option value="广西">广西</option>
<option value="湖南">湖南</option>
</select>
城市
<select id="city">
</select>
<hr/>
<div onmouseover="testOnmouseOver()" onmouseout="testOnmousrOut()">
</div>
<span id="timeTip"></span>
</body>
</html>