【问题标题】:Nav links don't active when adding scroll in Bootstrap在 Bootstrap 中添加滚动时导航链接不活动
【发布时间】:2012-11-06 10:26:22
【问题描述】:

首先我需要说我对 html/css 很陌生,并且对 js 和 jquery 知之甚少。

现在我的问题。我正在用 Bootstrap 完成一个网站,它有不同的容器可以向下滚动。我寻找了一个滚动 js 代码,它运行良好,但问题是导航链接不再活跃。我尝试过使用不同的滚动脚本和解决方案,但根据我的实际知识,我无法弄清楚如何解决它。同样,除了没有激活导航链接之外,该脚本工作正常,没有它,网络也能正常工作。

这是我的导航 html:

<div class="navbar navbar-inverse navbar-fixed-top" id="navigation">
  <div class="navbar-inner">
    <div class="container-fluid">
      <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span><i class="icon-reorder"></i></span>
      </button>
      <div class="nav-collapse collapse">
        <ul class="nav">
          <li class="active">
          <a href="#tebamar" title="tebamar" class="scroll-page"><i class="icon-home icon-white"></i> Tebamar</a>
          </li>
          <li class="#">
          <a href="#quien" title="quien" class="scroll-page"><i class="icon-group icon-white"></i> Nosotros</a>
          </li>
          <li>
            <a href="#que" title="que" class="scroll-page"><i class="icon-th icon-white"></i> Qué hacemos</a>
          </li>
          <li>
            <a href="#donde" title="donde" class="scroll-page"><i class="icon-map-marker icon-white"></i> Dónde</a>
          </li>
          <li>
            <a href="#como" title="como" class="scroll-page"><i class="icon-briefcase icon-white"></i> Cómo</a>
          </li>
          <li>
            <a href="#contacto" title="contacto" class="scroll-page"><i class="icon-envelope-alt icon-white"></i> Contacto</a>
          </li>
        </ul></div></div></div></div>

这是我正在使用的脚本:

<script>
$(document).ready(function() {
// Smooth animation when page scrolls
$("a.scroll-page").scrollToSection()

/* Initialise Carausel */
$('.carousel').carousel();

/* Initialise Tooltip */
$('[rel="tooltip"]').tooltip(); 

 });


jQuery.fn.scrollToSection = function(settings) {

settings = jQuery.extend({
    speed : 1000
}, settings);   

return this.each(function(){
    var caller = this
    $(caller).click(function (event) {  
        event.preventDefault()
        var locationHref = window.location.href
        var elementClick = $(caller).attr("href")

        var destination = $(elementClick).offset().top;
        if(elementClick == "#home"){
            destination = 0;
        }
        $("html:not(:animated),body:not(:animated)").animate({ scrollTop:  destination}, settings.speed, function() {
            window.location.hash = elementClick;
        });
        return false;
    })
})
}

【问题讨论】:

    标签: jquery css twitter-bootstrap navigation scroll


    【解决方案1】:

    我不确定您究竟想在这里做什么,但要使导航链接处于活动状态,您可以使用类似这样的东西 (http://jsfiddle.net/wcRJQ/4/):

    $(".nav li").each(function()
    {
        $(this).click(function(e) 
        {
            $(".nav .active").removeClass("active");
            $(this).addClass("active");
        })
    });
    

    【讨论】:

    • 感谢您的回答!我试过但没有工作..我确定所有代码现在都很混乱,但这是网络tebamar.com 问题是滚动有效,但是当我添加它时,导航链接没有激活
    • 我提到的代码应该加在$(document).ready(function()里面。你检查过我发布的那个 jsfiddle 吗?
    • 我做了,你可以在 www.tebamar.com 的 html 中查看它,但它们没有激活
    猜你喜欢
    • 1970-01-01
    • 2013-06-24
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    相关资源
    最近更新 更多