【问题标题】:Rails, Bootstrap, and FullPage.js navbar navigation only works from first sectionRails、Bootstrap 和 FullPage.js 导航栏导航仅适用于第一部分
【发布时间】:2017-04-28 04:48:35
【问题描述】:

我有一个 rails 5 应用程序,它同时使用 bootstrap 4 和 fullPage.js(为此我禁用了 turbolinks)。我有一个引导导航栏,其中包含指向主页上几个不同部分的链接。只要当前显示的部分是第一个,就可以了。如果我滚动或单击指向不同部分的链接,导航栏中的所有链接都会以某种方式被禁用

知道这是怎么发生的吗?

这是我的导航栏(我知道在注销时我有一条通往“外部”路线的路径,但我认为这不会导致这个问题):

<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse" id="menu" role="navigation">
    <a class="navbar-brand mx-auto" href="#firstPage">My Brand</a>
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
            <% if user_signed_in? %>
                <li data-menuanchor="firstPage" class="nav-item"><a class="nav-link" href="#firstPage">Link One</a></li>
                <li data-menuanchor="secondPage" class="nav-item"><a class="nav-link" href="#secondPage">Link Two</a></li>
                <li data-menuanchor="thirdPage" class="nav-item"><a class="nav-link" href="#thirdPage">Link Three</a></li>
                <li data-menuanchor="fourthPage" class="nav-item"><a class="nav-link" href="#fourthPage">Link Four</a></li>
            <% end %>
        </ul>
        <ul class="nav navbar-nav navbar-right">
            <% if user_signed_in? %>
            <li class="nav-item navbar-right">
                <%= link_to 'Log Out', destroy_user_session_path, :method => :delete, :class => 'nav-link'%>     
            </li>
            <% end %>
        </ul>
    </div>
</nav>

application.js 中的 fullPage.js 初始化(真的很简单):

//= require jquery
//= require tether
//= require jquery_ujs
//= require bootstrap
//= require fullpage
//= require_tree .

$(document).ready(function() {
    console.log("Page Loaded")
    $('#fullpage').fullpage({
        anchors:['firstPage', 'secondPage', 'thirdPage', 'fourthPage'],
    });
});

最后是实际部分:

<div id="fullpage">
    <div class="section" data-anchor="firstPage">
        <div class="container-fluid draw-border">
            Some Content
        </div>
    </div>
    <div class="section" data-anchor="secondPage">Section 2</div>
    <div class="section" data-anchor="thirdPage">Section 3</div>
    <div class="section" data-anchor="fourthPage">Section 4</div>
</div>

【问题讨论】:

  • 请提供带有链接的复制品。
  • 好的,抱歉这花了我几天时间:我已经分叉了 git repo 并创建了一个新的 heroku 应用程序。您可以在 protected-thicket-32363.herokuapp.com 找到 heroku 应用程序,在 github.com/clintondix/FullpageBootstrapRails 找到 git 存储库
  • 打开主页应该能说明我在说什么 - 当您滚动/单击指向第一个以外的部分的链接时,我无法再单击这些链接。相关页面位于views/main_page 和views/layouts 中,特别是那些以not_logged_in 命名的页面...

标签: ruby-on-rails twitter-bootstrap navbar fullpage.js


【解决方案1】:

只需使用 css 属性 z-index 为您的菜单将其放置在任何其他层上:

.bg-inverse{
    z-index: 999;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 2020-07-04
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多