一、BOM
1、操作浏览器的一些方法 (浏览器对象模型)
2、window是is中的顶级变量,是一个全局的变量,所有人都可以访问到它,基本 的方法和属性
(document,alert,console.log,这些东西都是window的),由于他太常用可以省略不写,全局变 量和全局函数是window的一个属性和方法
 
3、window.onload=function(){ 【入口函数】
事件会在页面加载完成后,以及页面中的所有图片都加载完才开始执行
} img标签会加载,而图片不会被加载,是为了优化,这样获取图片的属性就不可以,所以
要使用window.load()
3'使用:当在单独的页面写JS时 会比较常使用
window.load如果写了多个 ,后面的会覆盖前边的
3'' window.open("打开的窗口地址",“-self/-blank(默认)”,“窗口的属性(高度和宽 度)”)--》可以写在一个函数里--》但是这个很少用
window.close(没有参数)--》把自己给关了,所有在open的时候要在全局接受一下设定的窗口 ,然后用它来调用.close就可以。
 
4、定时器
①延时定时器
语法:setTimeout(函数function,delay【单位是毫秒】)
setTimeout(funnction(){},5000) //5秒之后去执行这里的函数,并返回一个数值类型的延时定时器的ID,可以用、timer来接收
setTimeout(bang【函数名】,5000)
clearTimeout( timer【定时器的ID】); -->他们都是windom来调用的
②间歇定时器
setInterval(函数function,delay) 同样返回一个ID //每隔一段时间都会调用这个函数
clearInterval(timer)
 
定时器不会卡住程序,他后边的程序还是可以执行的,单线程先是执行他下边的程序,然后等执行定时器时,就会一直执行。
惊天巨坑:在定时器里不要使用this,因为定时器是有window来调用的
定时器实质:设置一个定时器,就是让window没隔多少秒去执行一次,他后边 的代码不会再执行了,开启一个定时器,不会妨碍后边代码的执行,其实就是让代码每隔多少秒去执行一次
 
5、其他的BOM对象(了解)
① location.href="http://baidu.com" //用来页面跳转
②刷新 : 刷新的时候,地址没变,浏览器会读缓存
强制刷新 : ctrl+f5 不读缓存 ,所有的资源都重新去加载
 
location.reload(true/false) //默认不写就是false就是刷新,传的是true就是强制刷新
③其他属性
通过IP找电脑,通过端口找程序
http://www.baidu.com?wd=呵呵 找关键字
 
6、其他对象
① navigator console.log(navigatorr.userAgent)//在控制台中写,(编辑器在前加window) 查看浏览器的版本信息
浏览器兼容性: 能力检测:判断有没有这个能力,如果没有,就用另外一种方式
代理检测:检查浏览器的版本 (谷歌浏览器可以再控制台中编程)
②history.forward( )等页面跳转完,有历史时,往前跳 ==history.go(1)
history.back( )往后==history.go(-1)
 
③screen.width/height 获取屏幕的宽度和高度
screen.availWidth/availHeight 高度会变(默认 )
7、动画
offset家族
①style.width:只能获取行内式
获取的是字符串的格式,还带px,如还的用parseInt
可以设置宽度,记得带单位
offsetwidth:真是的大小,获取盒子自身的宽度(padding+border+width)
获取的类型是字符类型,可以直接运算
是一个只读属性,只能获取,不能设置
总结:获取用offsetWidth 设置用style.width
 
②offsetParent 距离自己最近的有定位的父元素
parentNode 找的永远是自己的亲爹
③offsetTop offsetLeft//真实的位置 自己的左侧距离offsetParent左侧的
真实的距离 ;获取到的是字符类型;是只读属性
只能获取不能设置;margin会影响他的大小。
style.left:只能获取行内样式 (获取的是left设置的样式值,就是设多少就是多
少);获取到的是字符串 ;可以进行设置
 
动画公式
注意:动画中,想让left有效果,别忘记加定位,加单位
对象的当前位置=对象的当前位置+对象要走的长度
leader=leader+step // 当前的位置 盒子一次移动的距离
注意:一秒钟执行25次就可以看到动画效果
timer只是定时器的编号,是个数值而已

BOM以及定时器的更多相关文章

  1. 13 -1 BOM和定时器

    一 BOM JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元 ...

  2. BOM心得-定时器

    写在前面的话:之前一直以为定时器的返回值是Object类型,所以timer初始化也是写null,今天发现返回值是number,进而发觉这个返回值代表的是定时器的索引,指代这是第几个定时器 个人觉得只用 ...

  3. BOM之定时器

    JavaScript中的时间是通过定时器控制的,他们分别是window.setInterval和window.setTimeout,我们当然可以省略window,直接使用方法名称调用. 一     s ...

  4. JS中定时器的返回数值ID值

    定时器会返回一个数字值id,可以由clearInterval(id)或clearTimeout(id)来实现对对应定时器的清除. setInterval()/setTimeout()BOM中的Wind ...

  5. web前端面试第一次[定时器]

    BOM中定时器--计时器 定时器参数两个:(函数,时间(单位ms(1000ms=1s))) 时间设置1s,每过1s执行一次函数 //设置定时器 setInterval(funtion(){ alert ...

  6. 前端3 — js — BOM没完( 不了解也行 )

    1.js是什么? -- 英文全称javascript javaScript(简称"JS") 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.虽然它是作为开发Web页面的脚 ...

  7. Web前端学习路线

    第一阶段: HTML+CSS:HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础:Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAsc ...

  8. 关于web前端的学习路线

    第一阶段: HTML+CSS:HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础:Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAsc ...

  9. (1)写给Web初学者的教案-----学习Web的知识架构

    1:学习Web的知识架构 前文中我们简单的介绍了一些关于Web的基本知识,这里任老师再次强调一下凡是用浏览器打开的网站我们就称之为Web应用程序(B/S结构).除此之外其它需要下载安装的软件或是手机  ...

随机推荐

  1. php实现设计模式之 模板方法模式

    <?php /** * 模板模式 * * 定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构可以定义该算法的某些特定步骤 * */ abstract class ...

  2. 学习廖雪峰的git教程

    地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.git add:添加文件 ...

  3. js判断窗体或容器滚动条到底部

    NO1---jquery判断窗体滚动条到底部 $(window).scroll(function () {if ($(window).scrollTop() >= $(document).hei ...

  4. ASP.Net MVC数据传递

    今天做了个项目,涉及到离线下载HTML,没有前后台交互,没有Ajax,JavaScript,只有第一次从控制器带参数进入,一次读取到页面所需要的全部数据,使用Razor语法绑定到前台页面,在做这个项目 ...

  5. 【原】EasyUI ComboGrid 集成分页、按键示例

    需求: 1.下拉框下拉时出现表格: 2.表格带分页功能: 3.可以使用向上键.向下键在表格中移动选择行数据: 4.可以使用回车键在表格中选中行数据: 5.在下拉框的文本框中输入内容,能查询表格: 6. ...

  6. JAVA编程思想(第四版)学习笔记----11.5 List,11.6迭代器

    Collection类的层次结构图(来源与网络)如下所示: 接口:Iterator<T> public interface Iterable<T> Iterable<T& ...

  7. Hive-0.x.x - Enviornment Setup

    All Hadoop sub-projects such as Hive, Pig, and HBase support Linux operating system. Therefore, you ...

  8. 搭建SpringMVC+Spring+Hibernate平台

    一. 开发环境 1. 点击此查看并下载需要的 Eclipse IDE for Java EE Developers 开发工具,推荐选用32位   2. 点击此查看并下载需要的 MySQL Server ...

  9. sql select 1-10的数字

    SELECT V FROM (   VALUES (1), (2), (3), (4), (5),          (6), (7), (8), (9), (10) ) [1 to 10](V)

  10. JavaMail和James

      JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开发出类似于Micr ...