使用jQuery向下滚动指定像素数

5
你能否使用jQuery滚动到页面的某个像素?
我正在构建一个网站,当滚动时具有固定的导航栏,当点击按钮时,它会使用jQuery平滑滚动插件滚动到某个锚点。
问题是导航栏重叠了该部分,因此截断了一半的文本。
随着越来越多的jQuery动画网站的出现,我相信有人以前遇到过这个问题,但我似乎找不到答案。
我已在涉及的WordPress网站上安装了Smooth scroll插件,并在该部分内添加了以下代码:
<div id="web"></div>, <div id="app"></div>, <div id="seo"></div>

总共有三个部分,每个按钮都应该滚动到相应的部分。
网站URL:www.gogoblondie.com
2个回答

2

不需要使用奇怪的插件 ;)
这应该让你有个想法:

实时演示

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

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接