我的页面内链接有问题。这是我在页面中使用的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();
};

这是一个DEMO示例

当我向下滚动时,一切正常,但是当我想转到页面顶部时,这是不可能的。我知道问题在于该脚本可以修复div,但我不知道如何解决。有任何想法吗?

最佳答案

添加一个滚动到页面顶部的点击处理程序:

$("[href='#one']").click(function() {
    scrollTo(0, 0);
});

jsfiddle.net/jx8nmhfq/1

07-25 21:47