原生JS实现点击一个按钮显示一个div,再点击按钮div隐藏,或点击除div外其它空白处div隐藏

<!DOCTYPE html>
<html style="font-size: 24px">
<head>
    <title>js点击按钮显示再点击空白地方隐藏</title>
    <style type="text/css">
        #div {
            border: 1px solid red;
            display: flex;
            align-items: center;
            justify-content: center;
            display: none;
            font-size: 2rem
        }
    </style>
</head>
<body>
    <div id="div">这是div的内容</div>
    <button onclick="show()">点击我</button>
<script type="text/javascript">
    function show (event) {
        //取消冒泡
        let oevent = event || window.event
        if (document.all) {
            oevent.cancelBubble = true
        } else {
            oevent.stopPropagation()
        }
        if (document.getElementById('div').style.display === 'none' || document.getElementById('div').style.display === '') {
            document.getElementById('div').style.display = 'block'
        } else {
            document.getElementById('div').style.display = 'none'
        }
    }
    document.onclick = function () {
        document.getElementById('div').style.display = 'none'
    }
    document.getElementById('div').onclick = function (event) {
        let oevent = event || window.event
        oevent.stopPropagation()
    }
    
</script>
</body>
</html>

 

posted @ 2018-11-15 18:28  明烟雨任  阅读(13031)  评论(0编辑  收藏  举报