2015-11-23 2 views
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(); 
}; 

И это пример DEMO

Когда я прокручиваю вниз все работает нормально, но когда я хочу пойти в верхней части страницы, это невозможно. Я знаю, что проблема заключается в том, что скрипт фиксирует div, но я не знаю, как его исправить. Есть идеи?

+2

В вашем HTML на демо, вы ссылаетесь на '# four' в обоих звеньев, это намеренно? –

+0

Нет, это была ошибка. Я починил это. – MaSza

ответ

2

Добавить обработчик щелчка, который прокручивает к началу страницы:

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

jsfiddle.net/jx8nmhfq/1

+0

Awsome! Спасибо :-) Мне нужно что-то точно, что вы пишете, что-то вроде «выглядите, это так просто», потому что я потерял много времени, чтобы найти решение. – MaSza

Смежные вопросы