jquery滚动问题

时间:2011-07-07 08:43:56

标签: jquery html css

我正在使用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(滚动到这里)

<div id="section_home" class="content_section">contents...</div>
<div id="section_about" class="content_section">contents...</div>
<div id="section_business" class="content_section">contents...</div>
<div id="section_vision" class="content_section">contents...</div>
<div id="section_contact" class="content_section">contents...</div>

问题是,当我在首页(section_home)时,如果我点击其他菜单,则位置不准确。它正在削减某些内容div的顶部。但是如果我点击那个特定页面的其他菜单(不是家),似乎没问题。

我已经测试过移除顶部固定条,然后就可以了。但不是那个固定的酒吧。您可以访问此链接,并明确了解http://www.stonegardenbd.co.cc/mg/

提前感谢。

1 个答案:

答案 0 :(得分:0)

我相信你的问题是你没有照顾breadcrumb div高度。这就是为什么文本落后于它。您应该尝试从主菜单中处理breadcrumb div。