锚点不起作用

5

我在网页中遇到了链接问题。这是我在网页中使用的jQuery代码的一部分:

$.fn.stopAtTop= function () {
  var $this = this,
      $window = $(window),
      thisPos = $this.offset().top,
      //thisPreservedTop = $this.css("top"),
      setPosition,
      under,
      over;

  under = function(){
    if ($window.scrollTop() < thisPos) {
        $this.css({
            position: 'absolute',
            top: ""
        });
        setPosition = over;
    }
  };

  over = function(){
    if (!($window.scrollTop() < thisPos)){
        $this.css({
            position: 'fixed',
            top: 0
        });
        setPosition = under;
    }
  };

  setPosition = over;

  $window.resize(function()
  {
    bumperPos = pos.offset().top;
    thisHeight = $this.outerHeight();
    setPosition();
  });

  $window.scroll(function(){setPosition();});
  setPosition();
};

这是一个示例 演示

当我向下滚动时,一切都很好,但当我想回到页面顶部时,却做不到。我知道问题在于脚本使div固定,但我不知道如何解决它。有什么想法吗?


2
在您的演示HTML中,两个链接都链接到#four,这是有意为之吗? - Ben Aubin
不,那是个错误。我已经修复了它。 - MaSza
1个回答

2
添加一个点击处理程序,使页面滚动到顶部:
$("[href='#one']").click(function() {
    scrollTo(0, 0);
});

jsfiddle.net/jx8nmhfq/1


太棒了!谢谢 :-) 我需要的就是你写的那种东西,像“看,这很容易”,因为我花了很多时间寻找解决方案。 - MaSza

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