【问题标题】:Anchor doesn't work锚点不起作用
【发布时间】:2016-02-26 06:20:57
【问题描述】:

页面内的链接有问题。这是我在页面中使用的 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,但我不知道如何修复它。有任何想法吗?

【问题讨论】:

  • 在演示中的 html 中,您在两个链接中都链接到 #four,这是故意的吗?
  • 不,那是个错误。我修好了。

标签: javascript jquery html css href


【解决方案1】:

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

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

jsfiddle.net/jx8nmhfq/1

【讨论】:

  • 太棒了!谢谢 :-) 我需要你写的东西,比如“看,这太容易了”,因为我浪费了很多时间来寻找解决方案。
猜你喜欢
  • 2013-06-14
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 2017-04-02
  • 2023-03-30
  • 2011-03-02
  • 2013-09-22
相关资源
最近更新 更多