【问题标题】:bootstrap dropdown menu and error with $_GET引导下拉菜单和 $_GET 错误
【发布时间】:2013-12-04 22:12:17
【问题描述】:

我正在创建一个带有 twitter 引导滚动的单页网站, 取自此示例:http://brocknunn.com/untame/scroller/。 它有效,但我有一个奇怪的问题。从下拉菜单中应该通过 GET 传递变量但不起作用,在地址栏中不会出现任何 var(例如 index.php?id = 1)...。它仅在我禁用底部的代码时才有效页面

<script>
              $ ('# top-nav'). onePageNav ({
                  currentClass: 'active',
                  changeHash: true,
                  scrollSpeed​​: 1200
             });
         </ script>

下拉菜单是标准的 bootstrap 2.3.2

<div class="navbar navbar-inverse">
        <div class="navbar-inner">
            <div class="container">
                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </a>

                <div class="nav-collapse collapse">
                    <ul class="nav" id="top-nav">
                        <li ><a href="#section-0">Home</a></li>
                        <li><a href="#section-1">Page1</a></li>
                        <li class="dropdown">
                           <a href="#" class="dropdown-toggle" data-toggle="dropdown">Foto Gallery<span class="caret red-caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="index.php?id=1#section-2">Gallery 1</a></li>
                        <li><a href="index.php?id=2#section-2">Gallery 2</a></li>
                    </ul>                    
                        </li> 
                        <li><a href="#section-3">Contacts</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>

【问题讨论】:

    标签: php twitter-bootstrap


    【解决方案1】:

    看起来,而且我很确定,jQuery 插件阻止了与 &lt;a href 链接关联的默认 GET 操作。

    它只是获取主题标签片段#section-2 并向下滚动到与该片段匹配的锚点。

    尝试使用不同的插件或根本不使用插件,滚动动作很容易实现。

    见插件http://brocknunn.com/untame/scroller/js/plugins.js的代码:

                    onAfter: function() {
                        //Do we need to change the hash?
                        if(self.config.changeHash) {
                            window.location.hash = newLoc;
                        }
    
                        //Add the auto-adjust on scroll back in
                        self.bindInterval();
    
                        //End callback
                        if(self.config.end) {
                            self.config.end();
                        }
                    }
                });
            }
    
            e.preventDefault();
                        ^^^^^^^^
    

    插件无法跟踪您的链接。

    【讨论】:

    • 好的,谢谢。您能告诉我一个易于安装且不会产生此类问题的平滑滚动插件吗?
    • 我不使用插件来完成如此简单的任务。您可以查看插件中的源代码,然后将其代码复制到默认阻止部分。
    • 你有一个逻辑错误。在触发 GET 请求时,页面会更改/重新加载。为什么你不会同时滚动和重新加载?使用一种或另一种导航方法或触发 ajax 请求。
    猜你喜欢
    • 2014-06-17
    • 2015-08-08
    • 2013-05-03
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多