6

在我的菜单中单击关于或联系人后如何滚动到 div(例如:#about、#contact)?

<div class="masthead">
    <ul class="nav nav-pills pull-right">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
    <h3 class="muted">Name site</h3>
</div>
4

3 回答 3

10

你的html:

<div class="masthead">
    <ul class="nav nav-pills pull-right">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
    </ul>
    <h3 class="muted">Name site</h3>
</div>
<div id="about">about</div>
<div id="contact">contact</div>

你的JavaScript:

$('ul.nav').find('a').click(function(){
    var $href = $(this).attr('href');
    var $anchor = $('#'+$href).offset();
    window.scrollTo($anchor.left,$anchor.top);
    return false;
});

如果要使用动画,请替换

window.scrollTo($anchor.left,$anchor.top);

经过

$('body').animate({ scrollTop: $anchor.top });
于 2013-01-25T14:59:36.547 回答
4

这比你想象的要容易。

  <div class="masthead">
    <ul class="nav nav-pills pull-right">
      <li class="active"><a href="#">Home</a></li>
      <li><a href="#About">About</a></li>
      <li><a href="#Contact">Contact</a></li>
    </ul>
    <h3 class="muted">Name site</h3>
  </div>


<div id="About">Here's my about</div>

...

<div id="Contact">Here's my contact</div>

通过使用哈希,它会自动滚动到具有该 id 的元素(或具有该name属性的锚点)。如果您希望它平滑滚动,您可以使用 javascript 库(如 jquery)增强滚动效果。看到这个问题:How to scroll HTML page to given anchor using jQuery or Javascript?

于 2013-01-25T14:57:29.217 回答
0

您可以通过以下方式使用 HTML 跳转到它:

<a href="#tips">Visit the Useful Tips Section</a> 

您可以通过以下方式使用 CSS 来实现:

http://css-tricks.com/snippets/jquery/smooth-scrolling/

于 2013-01-25T14:59:12.220 回答