js-BOM 基础

HTML-BOM 浏览器对象模型 由一系列对象构成 缺乏标准
顶级对象 window 定义在全局作用域的变量函数 都会变成window对象的属性和方法
包含 dengdeng

  • document
  • location
  • navigation
  • screen
  • history

常见事件

事件语义
onload窗口页面加载事件 当文档内容完全加载完成(包括 图片 js css)触发该事件
注意:只能写一个 多了以最后一个为准 但以addEventListener 不收限制
DOMContentLoaded当文档加载完成 但不包括 .css 图片 flash 等 ie9以上
resize浏览器大小发生变化触发
<script>
   window.addEventListener('load',function () {
       alert(233);
   })

   window.addEventListener('DOMContentLoaded',function () {
       alert(234)

   })
   window.addEventListener('resize',function () {
       console.log(11)
   })
</script>

定时器

定时器语义
window.setTimeout(fn,[延迟的毫秒数])到点触发,用途 广告
window.clearTimeout(timeout ID)停止计时器
window.setInterval(fn,[延迟的毫秒数])每隔一段时间执行回调函数
window.clearInterval(timeout ID)停止计时器

计时器

<head>
    <meta charset="UTF-8">
    <title>计时器</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }
        .p {
            width: 200px;
            height: 100px;
            margin: 0 auto;
            border: 1px solid;
            text-align: center;
        }
        span {
            margin: 0 3px;
            display: inline-block;
            width: 30px;
            background-color: #2aabd2;
        }
    </style>
</head>
<body>
<div class="p">
    <h3>倒计时</h3>
    <br>
    <span class="hour">01</span>:
    <span class="minute">02</span>:
    <span class="second">03</span>
    <script>
        var hour = document.querySelector('.hour');
        var minute = document.querySelector('.minute');
        var second = document.querySelector('.second');

        var inputTime = +new Date('2021-8-13 21:00:00');
        countTime(inputTime);
        setInterval(function () {
            countTime(inputTime);
        },1000)

        function countTime(inputTime){
            var now = new Date();//当前时间总豪秒数

            var times = (inputTime-now) / 1000;

            var h = parseInt(times / 60 / 60 % 24);
            h = h <10 ? '0' + h : h;

            var m = parseInt(times / 60 % 60);
            m = m <10 ? '0' + m : m;

            var s = parseInt(times % 60);
            s = s <10 ? '0' + s : s;

            hour.innerHTML = h;
            minute.innerHTML  = m;
            second.innerHTML = s;
        }
    </script>
</div>
</body>

发短信记时

<input type="number">
<button>发送</button>
<script>
    var count = 60;
    var btn = document.querySelector('button');
    btn.addEventListener('click',function () {
        btn.disabled = true;
        var timer = setInterval(function () {
            if(count == 0){
                clearInterval(timer);
                btn.disabled = false;
                btn.innerHTML='发送';
                count = 60;
            } else {
                btn.innerHTML = '还剩下'+count + '秒';
                count--;
            }
        },1000)
    })
</script>
  • js同步异步 执行机制
    js 原本是单线程 now
    把同步任务放在执行栈队列先执行 ,把回调函数等放在任务队列 执行栈执行后运行 任务队列
  • location 对象
属性语义
href获取或设置整个url
host返回主机(域名)
port返回端口号
pathname返回路径
search返回参数
hash返回片段 #后面的内容
方法语义
assign(‘url’)跳转页面 记录浏览历史 ,可以实现后退功能
replace跳转页面 不记录浏览历史
reload(true)重新加载页面 f5 true强制刷新 相当于 ctrl+f5
  • navigator 对象
    常用use-agent

  • history 对象

方法语义
back()后退功能
forward()前进功能
go(参数)前进后退功能 1 前进1个页面
后退一个页面
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值