【问题标题】:Materialize side-nav links doesn't work实现侧导航链接不起作用
【发布时间】:2017-02-19 01:02:19
【问题描述】:

我正在使用 materializecss 制作网页,但我在侧导航中添加的链接不起作用,我能用它做什么,

当我单击链接时,侧导航关闭 代码:

<div class="navbar-fixed">
    <nav>
        <div class="nav-wrapper">
            <a href="#" data-activates="mobile-demo" class="button-collapse"><i class="material-icons">menu</i></a>
            <a href="index.php" class="brand-logo left thin" title="bcgraphixx">Page Title</a>
            <ul class="right hide-on-med-and-down">
                <li><a class="waves-effect" href="index.php">Home</a></li>
                <li><a class="waves-effect" href="about-us.php">About us</a></li>
                <li><a class="waves-effect" href="services.php">Services</a></li>
                <li><a class="waves-effect" href="book.php">booking</a></li>
            </ul>

            <ul class="side-nav" id="mobile-demo">
                <li>
                    <div class="userView">
                        <div class="background">
                            <img src="<?php echo $srcurl; ?>/cover.png">
                        </div>
                        <a href="#!admin"><img class="circle" src="<?php echo $srcurl; ?>/logo.png"></a>
                        <a href="#!bcgraphix" title="bcgraphixTemplate"><span class="black-text name">DIGINEWS</span></a>

                    </div>
                </li>

                <li><a href="##"><center>MENU</center></a></li>
                <li><a class="waves-effect" href="index.php">Home</a></li>
                <li><a class="waves-effect" href="about-us.php">About us</a></li>
                <li><a class="waves-effect" href="services.php">Services</a></li>
                <li><a class="waves-effect" href="book.php">booking</a></li>
            </ul>

            <script>  $(".button-collapse").sideNav(); </script>
        </div>

    </nav>
</div>

【问题讨论】:

  • 发布解决方法。

标签: javascript html css materialize


【解决方案1】:
  1. 将sideNav的JS代码包装在documentReady事件中,并将参数closeOnClick设置为true

  2. 将您的侧边菜单(带有类“side-nav”的 ul 元素)与类 navbar-fixed 放在同一级别的 div 中。这是为了避免覆盖的已知问题。见this stackoverflow question and accepted answer

$( document ).ready(function(){
$('.button-collapse').sideNav({
      closeOnClick: true
    }
  );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/js/materialize.min.js"></script>

<div class="navbar-fixed">
    <nav>
        <div class="nav-wrapper">
            <a href="#" data-activates="mobile-demo" class="button-collapse"><i class="material-icons">menu</i></a>
            <a href="#" class="brand-logo right thin" title="bcgraphixx">Page Title</a>
            <ul class="right hide-on-med-and-down">
                <li><a class="waves-effect" href="#">Home</a></li>
                <li><a class="waves-effect" href="#">About us</a></li>
            </ul>
        </div>
    </nav>
</div>
<ul class="side-nav" id="mobile-demo">
   <li><a href="##"><center>MENU</center></a></li>
   <li><a class="waves-effect" href="#!">Home</a></li>
   <li><a class="waves-effect" href="#!">About us</a></li>
</ul>

【讨论】:

    【解决方案2】:

    下面的代码....
    您需要添加 materialize sc、js 和 jquery js 的 CDN
    这是您的修复导航栏

          <div class="navbar-fixed">
            <nav class="nav-wrapper">
              <div class="container">
                <a href="" class="brand-logo">Picnic.lk</a>
                <a href="" class="sidenav-trigger" data-target="mobile-menu">
                  <i class="material-icons">menu</i>
                </a>
                <ul class="hide-on-med-and-down right">
                  <li><a href="#photos">Photos</a></li>
                  <li><a href="#services">Services</a></li>
                  <li><a href="#contact">Contacts</a></li>
                </ul>
               </div>
             </nav>
           </div>
    

    您的移动导航栏(侧边导航)

    <ul class="sidenav grey lighten-2" id="mobile-menu">
        <li><a class="sidenav-close" href="#photos">Photos</a></li>
        <li><a class="sidenav-close" href="#services">Services</a></li>
        <li><a class="sidenav-close" href="#contact">Contacts</a></li>
    </ul>
    

    下面添加js代码

    <script>
     $(document).ready(function(){
        //side navigation
        $('.sidenav').sidenav({
            //your additional code goes here
        });
     });
    

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多