2015-11-23 34 views
5

Mam problem z linkiem wewnątrz strony. Jest to część kodu jQuery używam w mojej stronyKotwica nie działa

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

I to jest przykład DEMO

Kiedy przewiń wszystko działa w porządku, ale gdy chcę iść do góry strony jest to niemożliwe. Wiem, że problem polega na tym, że skrypt naprawia błąd div, ale nie wiem jak to naprawić. Jakieś pomysły?

+2

w HTML w demo, to odwołuje się do '# four' w obu łączy, jest to celowe? –

+0

Nie, to był błąd. Naprawiłem to. – MaSza

Odpowiedz

2

Dodawanie obsługi kliknij który przewija się w górnej części strony:

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

jsfiddle.net/jx8nmhfq/1

+0

Awsome! Dziękuję :-) Potrzebuję czegoś dokładnie, co piszesz, coś w rodzaju "wyglądaj, to takie proste", ponieważ straciłem dużo czasu na szukanie rozwiązania. – MaSza