2014-09-02 83 views
0

我试图让平滑滚动内div我几乎使所有,但我有一些问题。当我点击链接滚动移动到位置,但滚动偏移量是首页。另一个问题是,我可以在同一链接中点击两次,滚动跳跃?平滑滚动到锚内div

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

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> 

回答