为bootstrap 2.0更改页面加载时的body标记

时间:2012-04-25 20:25:14

标签: jquery html css twitter-bootstrap

我使用bootstrap,并且我有一个带有自举的scrollspy页面。我无法将scrollspy添加到其他页面,因为我的链接意外触发。是否可以使用简单的jQuery函数来添加:

data-spy="scroll"data-target=".subnav"到该特定网页加载页面正文。

向a div="span12"添加滚动间谍似乎不起作用,但是,当放置在身体上时,该功能确实有效。

如果其他人有一个简单的解决方案来使用这个或其他方法,请告诉我。

这是我目前的代码:

<body> <!-- Add it here to make it work -->
 <div class="span12" style="background: #fff;"> <!-- OR add it here and see if it works, if so then I can avoid the function all together. -->
  <div class="span11">
  <header>
     <h1>TITLE</h1>
     <h3>The full history of..<small>By Jane Doe</small></h3>
     <div class="subnav">
       <ul class="nav nav-pills">
       <li class="active"><a href="#overview">Introduction</a></li>
       ...
       </ul>
  </div>
  </header>

  <section id="overview"></section>
  <section id....
 </div>
</div>

我用来修复topnav的脚本:

$(document).scroll(function(){
    // If has not activated (has no attribute "data-top"
if (!$('.subnav').attr('data-top')) {
    // If already fixed, then do nothing
    if ($('.subnav').hasClass('subnav-fixed')) return;
    // Remember top position
    var offset = $('.subnav').offset()
    $('.subnav').attr('data-top', offset.top);
}

if ($('.subnav').attr('data-top') - $('.subnav').outerHeight() <= $(this).scrollTop())
    $('.subnav').addClass('subnav-fixed');
else
    $('.subnav').removeClass('subnav-fixed');
});

$('#navbar').scrollspy();

1 个答案:

答案 0 :(得分:2)

尝试

$(document).load(function() {
    $('body').attr('data-spy', 'scroll').attr('data-target', '.subnav');
});