JS之dom对象(1)

目录

  1. 背景颜色的更换
  2. 分时问候案例
  3. 表单密码显示效果
  4. 页面交换

1  背景颜色的更换

1.获取元素

 2 通过循环遍历,并且通过点击改变背景图片

<!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>
        body{
            background: url("./images/p1.jpeg") no-repeat;
            background-size: cover;
        }
        img{
            width: 400px;
        }
    </style>
</head>
<body>
    <div>
        <img src="./images/p1.jpeg" alt="">
        <img src="./images/p2.jpeg" alt="">
        <img src="./images/p3.jpeg" alt="">
    </div>
    <script>
        // 1.获取元素
        // 2 通过循环遍历,并且通过点击改变背景图片
        var images=document.querySelector('div').querySelectorAll('img')
        for(var i=0;i<images.length;i++){
            images[i].onclick=function(){
                document.body.style.background="url("+this.src+")";
            }
        }
    </script>
</body>
</html>

2.分时问候案例

// 根据系统不同时间来判断,日期内置函数

//多分支语句来设置不同的图片

//需要一个图片

//需要一个div元素,显示不同问候语

<!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>
        img{
            width: 300px;
        }
    </style>
</head>
<body>
    <img src="./images/s.gif" alt="">
    <div></div>
    <script>
        // 根据系统不同时间来判断,日期内置函数
        //多分支语句来设置不同的图片
        //需要一个图片
        //需要一个div元素,显示不同问候语

        //1、获取元素
        var img=document.querySelector('img');
        var div=document.querySelector('div');
        //2. 得到当前的小时数
        var date=new Date();
        var h=date.getHours();
        //3.判断小时数改变图片和文字信息
        if(h<12){
            img.src='./images/s.gif';
            div.innerHTML='亲,上午好,好好写代码';
        }else if(h<18){
            img.src='./images/x.gif';
            div.innerHTML='亲,下午好,好好写代码';
        }else{
            img.src='./images/w.gif';
            div.innerHTML='亲,晚上好,好好写代码';
        }
    </script>
</body>
</html>

 3.表单密码显示效果

注:使用了交叉选择器

       先获取元素,再定义一个变量flag

<!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>
        .password{
            width: 260px;
            height: 30px;
            position: relative;
        }
        .password div{
            width: 20px;
            height: 20px;
            position: absolute;
            right: 5px;
            top: 5px;
            background: url("images/icon_1.png");
        }
        /* 交叉选择器 */
        .password div.hover{
            background: url("./images/icon_2.png");
        }
        .password input{
            width: 100%;
            height: 30px;
            line-height: 30px;
        }
    </style>
</head>
<body>
    <div class="password">
        <div></div>
        <input type="password" name="" id="password" value="">
    </div>
    <script>
        var eyeObj=document.querySelector('.password div');
        // console.log(eyeObj);
        // 开发法
        var flag=false;
        eyeObj.onclick=function(){
            var passwordObj=document.getElementById('password');
            flag=!flag;
            if(flag){
                passwordObj.type='text';
                eyeObj.className='hover';
                // flag=!flag;
            }else{
                passwordObj.type='password';
                eyeObj.className='';
            }
        }
    </script>
</body>
</html>

4.页面交换

<!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>
        a{
            color:blanchedalmond;
        }
    </style>
</head>
<body>
    <div id="nav">
        <a href="#">行业新闻</a>
        <a href="#">公司新闻</a>
        <a href="#">技术动态</a>
    </div>
    <script>
        // 排他思想
        var nav=document.querySelector('#nav').querySelectorAll('a')
        for(var i=0;i<nav.length;i++){
            nav[i].onclick=function(){
                for(var j=0;j<nav.length;j++){
                    nav[j].style.background="lightblue";
                }
                this.style.background="blue";
            }
        }

    </script>

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值