5

您可以使用 jQuery 将页面向下滚动到某个像素吗?

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

问题是导航栏与该部分重叠,因此它会切断一半的文本。

随着 jQuery 动画网站数量的增加,我确信之前一定有人遇到过这个问题,但我似乎找不到答案。

我已经在有问题的 Wordpress 网站上安装了 Smooth scroll 插件,并且在该部分中有以下代码:

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

每个按钮应滚动到总共三个部分。

网址:www.gogoblondie.com

4

2 回答 2

2

无需使用奇怪的插件;)
这应该给您一个想法:

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; 
}

问:

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);
});
于 2013-04-22T21:24:12.433 回答
1

scrollTo是一个不错的 jQuery 插件,它可以让你滚动到一个带有偏移量的元素。

于 2013-04-22T21:14:29.883 回答