2015-11-23 18 views
5

リンクの内側のページに問題があります。これは私のページにアンカーが動作しない

$.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(); 
}; 

私が使用してjQueryのコードの一部であり、これはDEMO

例である私は、下にスクロールすると、すべてが正常に動作しますが、私は、ページの最上部に移動したいときには不可能です。その問題はスクリプトでdivが修正されていることですが、修正方法はわかりません。何か案は?

+2

を、あなたは両方のリンクに#four' 'へリンクし、この意図的ではありますか? –

+0

いいえ、間違いでした。それを私が直した。 – MaSza

答えて

2

は、ページの一番上にスクロールクリックハンドラを追加します。デモでは、あなたのHTML内

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

jsfiddle.net/jx8nmhfq/1

+0

Awsome!ありがとうございます:-)私は解決策を探すために多くの時間を失ったので、あなたが書いたもの、つまり「見て、それは簡単です」のような何かを必要とします。 – MaSza