js window 定时器 event

本文详细介绍了JavaScript中创建元素的不同方法,BOM(浏览器对象模型)及其与DOM的关系,window对象的使用,定时器的管理,location对象的地址操作,history对象处理历史记录,以及js特效、offset系列、scroll相关、client相关属性和window相关事件的讲解。
摘要由CSDN通过智能技术生成

目录

01 创建元素的方式

02 BOM概述

03 window

04定时器

05 location对象的使用

07 js特效

08 offset系列相关属性

09 scroll 相关属性

10 client 相关属性

11 window 相关的事件

12 event 相关的属性


01 创建元素的方式

创建元素的三种方式:

        1.innerHTML创建元素

<div id="inner"></div>
<script>
    var inner=document.querySelector('#inner')
    inner.innerHTML='<a href="#">百度</a>'
    for(var i=0;i<100;i++){
        inner.innerHTML+='<a href="#">百度</a>'
    }
</script>

        2.使用数组来创建元素

<script>
    var arr=[];
    for(var i=0;i<100;i++){
        arr.push('<a href="#">百度</a>')
    }
    inner.innerHTML=arr.join('')
</script>

        3.document.createELement 创建元素

<div id="create"></div>
<script>
    var create=document.querySelector('#create')
    for(var i=0;i<100;i++){
        var a=document.createElement('a');
        create.append(a)
    }
</script>

02 BOM概述

        js三大核心  :   js基础语法        DOM        BOM

        BOM(Brower Object Model)

                js给我们内置了一些能够操作浏览器本身相关的一些对象

        BOM包含DOM

        DOM 最顶级的对象: document

        BOM 最顶级的对象 : window

03 window

        alert('123') 

        弹窗方法都是window调用的

         所有使用window调用的属性和方法 都可以省略

        window.open 打开新窗口的方法  (了解)

        

04定时器

        定时器分为一次性定时器和永久定时器

               1. 永久定时器:

                var timer=setInterval(function(){

                        console.log('111')

                })

                2.一次性定时器:

                var timer=setTimeout(function(){

                        console.log('111')

                })

        停止定时器:

                停止永久定时器 : clearInterval(clearInterval方法的返回值)

                停止一次性定时器 : clearTimeout(setTimeout方法的返回值)

05 location对象的使用

        location对象是封装和地址相关的一些数据

                console.log(location);

               console.log("地址栏全信息:",location.href)

                console.log("协议:",location.protocol);

                console.log("主机:",location.hostname);

                console.log("主机+端口:",location.host);

                console.log("地址路径部分:",location.pathname);

                console.log("地址的#号锚点部分:",location.hash);

                console.log("地址的参数部分:",location.search);

        location对象三个关于页面跳转的功能

                location.href='地址'

                location.assign('地址')

                location.replace('地址')

        注意:

                href 和assing功能一模一样

                跳转后把页面存为历史记录 跳转过去之后可以回退回来

                replace跳转会把当前页面销毁 跳转到新页面去 无法回退

06 history对象的使用

        history对象 专门操作历史记录相关的数据

        history.go(number)

                go(1) 前进一个记录

                go(-1) 后退一个记录

                go(0) 刷新 和 location.reload( ) 效果一样

07 js特效

        js中dom节点和动画相关的一些属性放到一起抽离出来 做成js动画的效果 就是js特效

        js特效相关的数据大致分为:

                offset方向 

                scroll方向

                client方向

08 offset系列相关属性

        offset方向的五大属性:

                1.offsetWidth   offsetHeight 返回的结果是number类型

                获取的是盒子自身的宽高+padding+border

                其实获取的就是最终渲染的盒子的大小 不包含margin

                2.offsetLeft   offsetTop    

                获取当前盒子距离最近的有定位的父盒子左上角的距离

                如果父盒子没有定位则距离body的距离

                以上四个属性都是只读的 无法复制 只能获取  返回的是数字类型 所以比较好用

               3. offsetParent

                获取最近的有定位的父盒子

                如果父盒子没有定位则返回body

  

09 scroll 相关属性

        scroll相关属性:

                1.scrollWidth  scrollHeight 

                内容不超出盒子宽高的时候 返回的是盒子自身的高度+padding

                如果内容超出了盒子的宽高  则返回的是内容的宽高

                2.scrollLeft  scrollTop 

                html对象调用 返回的是可滚动的浏览器页面被卷曲的头部和左侧的距离

                以上两个属性不但能获取还能设置浏览器卷曲多少

        特殊元素的获取方式:

                html对象的获取: document.documentELement

                body对象的获取: document.body

                head对象的获取: document.head

                title对象的获取: document.title

        页面滚动事件:

                window.οnscrοll=function(){ }

                或者

                window.addEventListener('scroll', function(){})

                只要页面滚动1px 就会触发一次这个事件

10 client 相关属性

        1.clientWidth/clientHeight

        是html对象调用 获取浏览器可视区域宽度

        可以根据浏览器的可视区域的宽高实现页面响应式布局

        2.clientLeft/clientTop(获取盒子左边框和上边框的宽度  没用) 

       

        3.获取浏览器可视化区域大小的其他方式(推荐使用)

        window.innerWidth / window.innerHeight

11 window 相关的事件

        window.onscorll 页面滚动事件

        window.onload 页面加载完毕事件

                所有页面的dom节点加载完毕 页面所有的图片加载完毕 后才去执行的事件

        window.onresize 页面大小改变事件

12 event 相关的属性

        鼠标到body的距离(pageX/Y)   e.pageX    e.pageY

        鼠标到屏幕的距离(screenX/Y)  e.screenX   e.screenY

        鼠标到可视区域的距离(clientX/Y)  e.clientX  e.clientY

  • 27
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值