一、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. JS阻止事件冒泡

    在使用JS事件的时候,外层元素事件有可能被里层元素的事件触发,例如点击里层元素外层也触发了点击,这种现象称为事件冒泡.(李昌辉) <div id="wai"> < ...

  2. composer 出现 configuration does not allow connection to http.......

    出现这样的问题是,镜像使用的是http,而原地址是需要https,所以配置下关掉https就好了. 我们来个全局设置的方法: composer config -g secure-http false ...

  3. datatables中的Options总结(2)

    datatables中的Options总结(2) 五.datatable,列 columnDefs.targets 分配一个或多个列的列定义. columnDefs 设置列定义初始化属性. colum ...

  4. px-rem px转换为rem的工具

    将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 将px转换为rem的工具 怎样转换静态文件 安装: npm install px- ...

  5. 4.1/4.2 多线程进阶篇<上>(Pthread & NSThread)

    本文并非最终版本,如有更新或更正会第一时间置顶,联系方式详见文末 如果觉得本文内容过长,请前往本人 “简书” 本文源码 Demo 详见 Githubhttps://github.com/shorfng ...

  6. Play Framework 完整实现一个APP(十三)

    添加用户编辑区 1.修改Admin.index() public static void index() { List<Post> posts = Post.find("auth ...

  7. [MySQL Reference Manual] 18 复制

    18 复制 18 复制 18.1 复制配置 18.1.1 基于Binary Log的数据库复制配置 18.1.2 配置基于Binary log的复制 18.1.2.1 设置复制master的配置 18 ...

  8. ZooKeeper:第三方客户端 ZKClient

    ZKClient ZKClient的设计 ZKClient组件说明 重要的处理流程说明 启动ZKClient 为节点注册Watcher ZooKeeper的变更操作 客户端处理变更 序列化处理 ZKC ...

  9. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  10. 每天5分钟 玩转OpenStack 目录列表

    最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...