原生JS下拉菜单动画(上下双向)

手写下拉菜单,惊爆面试官的钛合金狗眼。

slide.gif
  • animation@keyframes的组合。
  • translateY里百分比%的运用,适配下拉菜单的高度。

U•ェ•*U

<html>
    <div class="box mClick" onclick="mClick()">点击</div>
    <div class="box" id="box">菜单</div>
</html>

<script>
    this.slide = false

    function mClick() {
        var box = document.getElementById('box')
        this.slide = !slide
        var way,percent
        if (this.slide) {
            way = 'down'
            per = 100
        }else {
            way = 'up'
            per = 0
        }
        box.style = `animation:${way} .5s;transform:translateY(${per}%);`
    }
</script>

<style>
    @keyframes down {
        from {
            transform: translateY(0%);
        }

        to {
            transform: translateY(100%);
        }
    }

    @keyframes up {
        from {
            transform: translateY(100%);
        }

        to {
            transform: translateY(0%);
        }
    }

    .box {
        position: fixed;
        height: 100px;
        width: 100px;
        border: 1px solid black;
    }

    .mClick {
        background-color: white;
        z-index: 1;
    }
</style>


关注我,日更1个教程里没有的前端小知识点。
动动你发财的小手,给拎包哥点个赞吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容