平滑滚动以锚定div内部

时间:2014-09-02 13:44:05

标签: jquery hyperlink scroll anchor smooth

我尝试在div内部进行平滑滚动我几乎完成所有但我有一些问题。当我单击链接滚动移动到位置但滚动偏移是首页。另一个问题是我可以在同一个链接中单击2次并滚动跳转?

任何人都知道如何解决它?

jsfiddle

JS:

$(document).ready(function(){
  $('.m_nav a').click(function(){
      $('.marken-box').animate({
          scrollTop: $( $.attr(this, 'href') ).offset().top
      }, 300);
      return false;
  });
});

HTML:

<div class="spacer"></div>
<div class="m_nav">
    <a href="#m_a">A</a>
    <a href="#m_b">B</a>
    <a href="#m_c">C</a>
    <a href="#m_d">D</a>
</div>


<div class="marken-box">
    <ul class="marken">
        <li class="slide">
            <span id="m_a">A</span>
        </li>
        <li class="slide">
            <div class="spacer">Lorem</div>
        </li>
        <li class="slide">
            <span id="m_b">B</span>
        </li>
        <li class="slide">
            <div class="spacer">Lorem</div>
        </li>
        <li class="slide">
            <span id="m_c">C</span>
        </li>
        <li class="slide">
            <div class="spacer">Lorem</div>
        </li>
        <li class="slide">
            <span id="m_d">D</span>
        </li>
        <li class="slide">
            <div class="spacer">Lorem</div>
        </li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:0)

我用了一次.. http://flesler.blogspot.co.il/2007/10/jquerylocalscroll-10.html

如果您正在使用插件