015-网页应用开发WebApplicationDevelopment(五)

 

 

 

 

我们来用js来写一个按钮控制菜单的功能

 

先来一个简单的布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>

        div{
            border: 2px solid red;
        }

        .div01 {
            width: 100px;
            height: 100px;
        }

        .div02 {
            width: 300px;
            height: 100px;
        }
    </style>
</head>
<body>

    <div class="div01">Button</div>
    <div class="div02">Menu</div>

</body>
</html>

 

现在我们有了一个Button和一个Menu

如果我们用hover选择器的话

可以这样来写

 

hover选择器有三种不同的控制方法

1. 中间什么都不加  控制子元素;
2. ‘+’ 控制同级元素(兄弟元素);
3. ‘~’ 控制就近元素;

 

这边我们的div是同级元素,所以用+号

看下代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>

        div {
            border: 2px solid red;
        }

        .div01 {
            width: 100px;
            height: 100px;
        }

        .div01:hover + .div02 {
            display: none;
        }

        .div02 {
            width: 300px;
            height: 100px;
        }
    </style>
</head>
<body>

<div class="div01">Button</div>
<div class="div02">Menu</div>

</body>
</html>

 

 

 

 

 

如果不用hover,而要用点击的话,

就需要用js来实现

我们来写一个js方法

        function display(id) {
            let target = document.getElementById(id);
            if (target.style.display == 'none') {
                target.style.display = 'block';
            } else {
                target.style.display = 'none';
            }
        }

 

然后再来看看完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        function display(id) {
            let target = document.getElementById(id);
            if (target.style.display == 'none') {
                target.style.display = 'block';
            } else {
                target.style.display = 'none';
            }
        }
    </script>

    <style>

        div {
            border: 2px solid red;
        }

        .div01 {
            width: 100px;
            height: 100px;
        }

        .div02 {
            width: 300px;
            height: 100px;
        }
    </style>
</head>
<body>

<div class="div01" onclick="display('menu')">Button</div>
<div class="div02" id="menu">Menu</div>

</body>
</html>

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值