2012-11-10 96 views
0

我有3個內容框,並且所有菜單都有錨鏈接到下面的內容框! (鏈接包含和動態)找到錨點並設置jquery活動

昨天我received help with the script ..它的工作非常好,當我有一個大的內容框。

在這裏看到:http://jsfiddle.net/wv9EQ/7/

現在我有一個問題,當我有一個小的內容盒

在這裏看到:http://jsfiddle.net/wv9EQ/8/

當我如箱2和3之間兩個錨越來越活性。 任何想法來解決這個問題?我只是想只因爲我是盒子的積極錨目前內部

我使用這個腳本:

$(function(){ 
    var sections = {}, 
     _height = $(window).height(), 
     i  = 0; 

    //// Grab positions of our sections 
    $('.section').each(function(){ 
     sections[this.name] = $(this).offset().top; 
    }); 

    $(document).scroll(function(){ 
     var $this = $(this), 
      pos = $this.scrollTop(); 

     for(i in sections){ 
      if(sections[i] > pos && sections[i] < pos + _height){ 
       $('a').removeClass('active'); 
       $('.nav_' + i).addClass('active'); 
      } 
     } 
    }); 

    $('.head-nav-button').click(function() 
    { 
     $('a').removeClass('active'); 
     $('.nav_' + $(this).attr('href').replace('#', '')).addClass('active'); 
    }); 
}); 

回答

1

離開此功能設置部分活躍後:http://fiddle.jshell.net/doktormolle/nCasy/

+0

喜Dr.Molle ..有同樣的問題時headline2和3兩2-SP錨活躍..和你scrript問題之間的IM ..當我例如在head3上按下1-SP它跳到上面但設置2-SP活動 – bernte

+1

設置這個條件:sections [i]> pos'爲:'sections [i]> = pos',因爲相關的。當您使用鏈接時,節等於pos:http://fiddle.jshell.net/doktormolle/nCasy/9/ –

+0

您修復了錯誤!酷..但我有一個其他問題..我試圖解釋:當訪問該網站的第一個錨點設置,因爲該網站加載ontop(everthing罰款)當我開始滾動或按錨點3例如所有3個盒子活躍在錨點3.我只是想要在活動框(而不是全部3)的錨點滾動或點擊..對不起,錯誤的 – bernte

1

使用偏移和break後的第一個啓動菜單似乎工作:

瑣碎的部分:

offset = 50; // Should be at least the height of your nav bar 

if(sections[i] - pos + offset > 0){ 
    $('a').removeClass('active'); 
    $('.nav_' + i).addClass('active'); 
    break;    
} 

在撥弄全部代碼在這裏:http://jsfiddle.net/wv9EQ/10/