【问题标题】:Bootstrap 4 nav bar active issueBootstrap 4 导航栏活动问题
【发布时间】:2018-11-30 23:31:55
【问题描述】:

我正在使用Laravel 5.5,我想构建一个单一的布局,但我不能做我想做的事。 所以这就是我使用Bootstrap 4 并复制这样的示例导航栏的问题(代码如下)

<nav class="container-fluid navbar navbar-expand-sm bg-dark navbar-dark" style="padding-left: 75px; margin-top: -16px;">
            <ul class="navbar-nav">
              <li class="nav-item">
                <a class="nav-link active" href="{{url('/')}}">News</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="{{url('/laptops')}}">Sports</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="{{url('/pc')}}">Science</a>
              </li>
            </ul>
          </nav>

事情是当我改变我的目录时,活动状态不会切换,有什么方法可以工作吗?

PS:我看到类似这样的其他问题,但 href 标签定位的是 ID 属性而不是 link 目录

【问题讨论】:

    标签: twitter-bootstrap laravel bootstrap-4


    【解决方案1】:

    您在这里所做的是将活动类设置为导航栏的一个元素。您需要的是在访问相应链接时会动态更改活动类的东西。一个简单的例子是

    <li <?=activeClass("index")?>>
        <a class = "nav-link" href="{{url('/')}}">News</a>
    </li>
    <li <?=activeClass("laptop")?>>
        <a class = "nav-link" href="{{url('/laptops')}}">Sports</a>
    </li>
    <li <?=activeClass("pc")?>>
        <a class = "nav-link" href="{{url('/pc')}}">Science</a>
    </li>
    

    和php函数

    <?php 
    
    function activeClass($requestUri)
    {
        $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");
    
        if ($current_file_name == $requestUri){
            echo 'class="nav-item active"';
        }
        else{
            echo 'class ="nav-item"';
        }
    }
    ?>
    

    所以基本上我在这里所做的是我通过比较传入的请求 uri 动态设置类,如果它与当前呈现的页面匹配,则输出活动类,否则明显的导航链接类。上面的文件名应该替换为你的自己的 php 文件名。

    【讨论】:

    • 我收到此错误消息 ---- 异常消息:语法错误,意外的 'else' (T_ELSE),预期文件结束
    • 我已经编辑了我的代码,忘了把那个卷曲放进去。检查一下
    • 你错过了另一个函数结束卷曲但“活动”类仍然无法正常工作
    • 它只读取此代码 --- else{ echo 'class="nav-link text-light"'; }
    • 尝试回显 $current_file_name 并查看天气您是否获得了相应的 php 文件名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2018-10-24
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 2018-06-11
    相关资源
    最近更新 更多