BOM

BOM   ---- 浏览器对象模型  内容与浏览器窗口的交互   核心对象是window
JS —— 标准化组织是 ECMA   DOM —— 标准化组织是 W3C   BOM —— 最初是网景浏览器的一部分
比较:
    dom——文档当做一个对象   
        顶级对象是document
        主要学习操作页面元素
    bom——浏览器对象模型
         把浏览器当做一个对象
         兼容性较差
         顶级对象是window
         学习的是浏览器窗口交互的一些对象
    bom比dom更大   bom包含dom
BOM:
    1.是一个全局变量  定义在全局作用域中的变量,函数都会变成window对象的属性和方法  可以省略window
    2.顶级对象是window

window对象常见事件:
    1.window.οnlοad=function(){}     ------>窗口加载事件
        放在页面任意地方  只能写一次,重复以最后一个为准
        使用addEventListener没有限制

        load等页面内容全部加载完毕,包含dom元素
        documentLoaded 是dom加载完毕 不包含图片……
    2.调整窗口大小事件
        window.onresize
            只有窗口像素发生变化就触发这个事件
        window.innerWidth      响应式布局

【回调函数:回调——回头调用{上一件事干完,在回头调用这个函数}】

定时器:
    window.setTimeout(调用函数,[延迟的毫秒数])    -----动一下(青蛙)
        window在调用的时候可以省略
        延迟时间单位是ms  可以省略  如果省略默认为0
        这个调用函数可以直接写函数,也可以直接写函数名   也可以'函数名()'不提倡这个写法
        页面中可能有很多定时器,需要给定时器加标识符{名字}
    window.clearTimeout(timeout ID)
        停止定时器
        window可以省略
    setInterval(回调函数,[间隔的毫秒数])   ------一直动(多动症)
        重复调用一个函数,每隔这个时间,就去调用一个回调函数
        window可以省略
        延迟时间单位是ms  可以省略  如果省略默认为0
        这个调用函数可以直接写函数,也可以直接写函数名   也可以'函数名()'不提倡这个写法
        页面中可能有很多定时器,需要给定时器加标识符{名字}
    clearInterval(intervalid)

this指向问题   ------- 谁调用指向谁
    1.全局作用域或者普通函数中this指向全局对象window
    2.方法调用中谁调用this指向谁
    3.构造函数中this指向构造函数实例

JS执行机制
    同步 : 执行结果和排列顺序一致
        回调函数不属于同步任务
    异步 : 同时做多个任务
        是通过回调函数实现的
        1.普通事件,如click,resize等
        2.资源加载,如load,error等
        3.定时器,包括setInterval,setTimeout等

    先执行执行栈中的同步任务
    异步任务(回调函数)放入到队列中
    所有同步任务执行完,在执行异步任务
    事件循环     event loop

location对象:
    用于获取或者设置窗体的url,并且可以用于解析url       属性返回值是一个对象
    协议  域名  文件
    location.href ----->获取或设置整个url
    location.search---->获取参数
    location.port  ---->返回接口  如果没写,返回空字符串
    location.host  ---->返回域名--主机名
    location.hash  ---->获取锚点
    常用方法:
        location.assign() ----> 跳转页面 记录浏览历史 有回退功能
        location.replace() ----> 不记录浏览历史 无回退功能
        location.reload() ---->  重新加载页面 true强制刷新

navigator对象:

history对象:
    back()  回退
    forward() 前进
    go(参数)  如果参数为1,前进1个页面,如果是-1,后退一个页面

offset  ----- 元素偏移
    获得元素距离带有定位父元素的位置
    获得元素自身的大小
    返回值都不带单位
    offsetTop/Left/Width/Height
    offsetPrent   -----返回的是带有定位的父亲   否则返回body
    parentNode   -----返回父亲, 最近一级的父亲 亲爸爸 不管父亲有没有定位

offset和style区别:
    style只能得到行内样式表
         带单位的字符串
         不包含padding和border
         可以更改值
    offest可以获得任意样式
        获得的是数值
        包含padding,border
        只读属性

client ---- 元素可视区
    返回元素大小 边框大小
    不含边框  
    得到的是内容的大小
    返回数值都不带单位
    clientTop/Left/Width/Height

scroll --- 元素滚动
    高度是内容的大小
    scrollTop/Left/Width/Height

mouseenter事件和mouseover事件
    mouseover事件:鼠标经过自身盒子会触发,经过子盒子也会触发  
    mouseenter事件:只经过自身盒子会触发   (不会冒泡)

动画原理:
    通过定时器setInterval()不断移动盒子的位置
    1》获得盒子当前的位置
    2》在当前位置加一个移动的距离
    3》利用定时器不断重复这个操作
    4》加一个结束定时器的条件
    5》注意:此元素需要添加定位,才能使用element.style.left
    动画函数:
    1>动画函数封装:
        需要传递两个参数:动画对象和移动的距离
        动画函数给不同元素记录不同定时器(优化,不占内存)
        function animate(obj,target){
            obj.timer=setInterval(function(){
                if(obj.offsetLeft>=target){
                    clearInterval(obj.timer)
                }
                obj.style.left=obj.offsetLeft+10+'px';
            },30)
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值