2013-04-22 164 views
4

您可以使用jQuery向下滚动页面到某个像素吗?使用jQuery向下滚动到一定数量的像素

我正在构建一个网站,滚动时有一个固定的导航栏,当点击一个按钮时,它将使用jQuery平滑滚动插件滚动到某个锚点。

问题是导航栏与该部分重叠,因此它将一半的文本关闭。

随着越来越多的jQuery动画网站,我敢肯定有人肯定有过这个问题,但我似乎无法找到答案。

我已经安装了有问题的WordPress的网站上的平滑滚动的插件,并有这样的代码段内:

<div id="web"></div>, <div id="app"></div>, <div id="seo"></div> 

有总共三个部分,每个部分按钮应该滚动。

网址:www.gogoblondie.com

回答

1

没必要用奇怪的插件;)
这应该给你一个想法:

LIVE DEMO

<nav> 
    <ul> 
     <li><a href="#web">WEB</a></li> 
     <li><a href="#app">APP</a></li> 
     <li><a href="#seo">SEO</a></li> 
    </ul> 
    </nav> 

    <div id="web" class="page" style="margin-top:200px;">WEB</div> 
    <div id="app" class="page">APP</div> 
    <div id="seo" class="page">SEO</div> 

CSS:

nav{ 
    position:fixed; 
    top:0px; 
    width:100%; 
    height:200px; 
    background:#cf5; 
    z-index:2; 
} 
.page{ 
    position:relative; 
    min-height: 800px; 
} 

JQ:

var navHeight = $('nav').outerHeight(); 

$('nav a').click(function(e){ 
    e.preventDefault(); 
    var myHref = $(this).attr('href'); 
    var newPos = $(myHref).offset().top; 
    $('html, body').stop().animate({scrollTop: newPos-navHeight}, 1300); 
}); 
相关问题