2011-07-07 13 views
0

jquery関数を使用して、ページを上から下にスクロールしています。左側のメニューをクリックすると、ページがその特定の位置にスクロールします。ここで関数jqueryスクロールの問題

function initScroll(){ 
var dur = 750; 
//var hold = jQuery('#header'); 
var links = jQuery('#navigation > li > a'); 
//var h = hold.height(); 
var h = 0; 

links.click(function(){ 

    var link = jQuery(this); 
    var href = link.attr('href'); 

    if(href=="#main_content") 
     var h = 0; 
    else 
     var h = 0; 

    //alert(href); 
    //alert(h); 
    var box = $($(this).attr('href')).offset().top - h; 

    if(!$.browser.opera) $('body').stop().animate({scrollTop: box }, {queue:false, duration:dur}); 
    $('html').stop().animate({scrollTop: box }, {queue:false, duration:dur}); 
    return false; 
}); 
} 

メニューが

<ul id="navigation"> 
    <li class="sup"> <a href="#main_content">Home</a> </li> 
    <li class="sup"> <a href="#section_about">About Us</a> </li> 
    <li class="sup"> <a href="#section_business">Our Business</a> </li> 
    <li class="sup"> <a href="#section_vision">Our Vision</a> </li> 
    <li class="sup"> <a href="#section_contact">Contact</a> </li> 
</ul> 

コード

固定バー(上部に固定された位置にDIV)

<div id="breadcrum" class="breadcrum"></div> 

、次いで、コンテンツのdivのようです(ここまでスクロール)は

です

問題は、私がトップページ(section_home)にいるときに、他のメニューをクリックするとその位置が正確ではないということです。それは特定のコンテンツdivのいくつかのトップをカットしています。しかし、その特定のページからいくつかの他のメニュー(自宅ではない)をクリックすると、それは大丈夫です。

トップ固定バーの取り外しをテストしましたが、問題なくOKです。その固定されたバーではできません。あなたはリンクを訪問することができ、明確なアイデアを持っていますhttp://www.stonegardenbd.co.cc/mg/

ありがとうございました。

+0

ホームコンテンツのdivがid = "section_home"で、そのリンクがhref = "#main_content"で、href = "section_home"ではないのはなぜですか?他のdivとリンクは一致します。 –

+0

私は巨大なお尻のモニターを持っており、私は1つのccontentを見ているときに次のメニューコンテンツの約半分を見ることができます。だから私は本当にそれほどスクロールする必要はありません:) – iamserious

答えて

0

パン크クラムのdivの高さに注意を払っていないということはあなたの問題だと思います。それはテキストがそれの背後にある理由です。あなたはホームメニューからブレッドクラム部門の世話をしてください。