javascript - 如何打开导航边栏?

标签 javascript html css materialize sidenav

我在 codepen 中看到过这段代码作为示例,所以我尝试将其复制到我在 phpstorm 中的元素中。我运行了代码,但边栏没有向我打开,我不明白为什么。 这是代码:

<!DOCTYPE html>
<html>
<head>
    <link rel = "stylesheet" type="text/css" href = "Sources/bootstrap.css">
    <link rel = "stylesheet" type="text/css" href = "Sources/MatirialIcons.css">
    <link rel = "stylesheet" type="text/css" href = "Sources/Matirialize.css">
    <script type = "text/javascript"
            src = "Sources/jquery-2.1.1.js"></script>
    <script src = "Sources/Matirialize.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1">


</head>
<style>
    body {
        font-family: "Lato", sans-serif;
    }

    .sidenav {
        height: 100%;
        width: 250px;
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0;
        background-color: #111;
        overflow-x: hidden;
        transition: 0.5s;
        transform: translateX(-100%);
        padding-top: 60px;
    }

    .sidenav a {
        padding: 8px 8px 8px 32px;
        text-decoration: none;
        font-size: 25px;
        color: #818181;
        display: block;
        transition: 0.3s;
    }

    .sidenav a:hover {
        color: #f1f1f1;
    }

    .sidenav .closebtn {
        position: absolute;
        top: 0;
        right: 25px;
        font-size: 36px;
        margin-left: 50px;
    }
    .open-bg {
        background-color: rgba(0,0,0,0.4);
        overflow: hidden;
    }
    .open {
        transform: translateX(0px);
    }
    @media screen and (max-height: 450px) {
        .sidenav {padding-top: 15px;}
        .sidenav a {font-size: 18px;}
    }
</style>
<body>
<div class="container">
    <div id="mySidenav" class="sidenav">
        <a href="javascript:void(0)" class="closebtn" id="closeNav">&times;</a>
        <a href="#">About</a>
        <a href="#">Services</a>
        <a href="#">Clients</a>
        <a href="#">Contact</a>
    </div>
    <span style="font-size:30px;cursor:pointer" id="openNav">&#9776; Brand</span>
</div>
</body>

<script>
    $( "#openNav" ).click(function() {
        $('#mySidenav').addClass('open');
        $('body').addClass('open-bg');
    });
    $( "#closeNav" ).click(function() {
        $('#mySidenav').removeClass('open');
        $('body').removeClass('open-bg');
    });

</script>
</html>

为什么侧边栏打不开?这是我从中复制的代码笔代码的链接: https://codepen.io/shantikumarsingh/pen/gXPjdG

它在那里工作得很好,我需要一个与示例中完全相同的侧边栏。

最佳答案

我复制/粘贴了您的代码并将 jQuery 调用更改为以下代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

这似乎对我来说工作正常所以我猜是你的 jQuery 调用不工作(错误的目录,文件名输入错误等)所以一旦你修复所有应该工作正常。

希望这对您有所帮助!

关于javascript - 如何打开导航边栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197289/

相关文章:

html - 内容溢出而不是扩展 div

javascript - 如何在uploadcare中上传多个文件?

javascript - raphael + mapSvg 淡出

javascript - 多页与单页和不显眼的 Javascript

javascript - 使用 jQuery/JavaScript 在图像上插入/显示对象的属性

android - 自动将图像和图标大小与 ionic 中的移动分辨率对齐?

javascript - 将 props 传递给包含多个组件的 React Router

javascript - 更改检测不适用于文件上传

javascript - 为什么我的过渡动画在关闭 div 时出现故障?

html - 如何将用户定义的 CSS 类添加到我的自定义小部件呈现代码中?