bom小案例

window

  • window是js中的顶级对象。
  • window.onload可在任意地方写js 但传统写法只能写一次,多个以最后一个为准。
  • window.addEventListener(‘load’,function(){})可多次引入
  • load 等页面内容全部加载完毕,包含页面dom元素图片 flash css 等等
//DONContentLoaded是DOM加载完毕,不包含图片 falsh css等就可以执行加载速度比load更快一些
        document.addEventListener('DOMContentLoaded',function(){
            console.log('比load快')
        })

跳转页面

loacation.href可以进行页面的跳转

location.href='https://www.bilibili.com/'

保存历史的跳转

 location.assign('https://www.bilibili.com/')

不保存历史的跳转

location.replace('https://www.bilibili.com/')

刷新 ,true强制刷新(所有内容重新加载)

location.reload()

history对象可以进行页面前进,后退

  • forward前进
  • back后退
  • go(1)前进一步,go(-1)后退
history.forward();

计时器

在之后的编程中很多场景会用到计时器。

5秒后跳转页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.addEventListener('load',function(){
            var p=document.querySelector('p');
            var time=5;
            down()
            // p.innerHTML='5秒钟跳转到首页';
            var timer=setInterval(down,1000)
            function down(){
                if(time==0){
                    time=5;
                    clearInterval(timer);  
                    location.href="https://www.bilibili.com/"  ;              
                }else{
                     p.innerHTML=time+'秒钟跳转到首页';
                     time--;
                }
            }
        })
    </script>
</head>
<body>
    <p></p>
</body>
</html>

手机发送验证码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    手机号:<input type="text"><button>发送</button>
    <script>
        var btn=document.querySelector('button');
        var timer=3;
        btn.addEventListener('click',function(){
            var time=setInterval(function(){
                if(timer==0){
                    btn.disabled=false;
                    btn.innerHTML='发送';
                    timer=3
                    clearInterval(time)
                }else{
                    btn.disabled=true;
                    btn.innerHTML='还剩' + timer+'秒'
                    timer--;
                }
            },1000)
        })
    </script>
</body>
</html>

京东倒计时

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        
        div {
            margin: 200px;
        }
        
        span {
            display: inline-block;
            width: 40px;
            height: 40px;
            background-color: #333;
            font-size: 20px;
            color: #fff;
            text-align: center;
            line-height: 40px;
        }
    
    </style>
</head>
<body>
    <div>
        <span class="hour">1</span>
        <span class="minute">2</span>
        <span class="seconds">3</span>
    </div>
    <script>
        var hour=document.querySelector('.hour');//时
        var minute=document.querySelector('.minute');//分
        var seconds=document.querySelector('.seconds')//秒
        var userTime=+new Date('2022-12-22 18:00:00')
        countDown()
        // console.log(userTime);
        var killDown=setInterval(countDown,1000)
        function countDown() {
            var nowTime=+new Date();
            times=(userTime-nowTime)/1000;
            var h=parseInt(times/60/60);
            h =h<10 ? '0'+h:h;
            hour.innerHTML=h
            var m=parseInt(times/60%60)
            m=m<10 ?  '0'+m : m;
            minute.innerHTML=m;
            var s=parseInt(times%60);
            s=s<10 ? '0'+s:s;
            seconds.innerHTML=s;

        }
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值