2015-11-23 13 views
5

Ho un problema con il collegamento all'interno della pagina. Questo fa parte del codice jQuery che uso nella mia paginaL'ancoraggio non funziona

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

E questo è un esempio DEMO

Quando ho scorrere verso il basso tutto funziona bene, ma quando voglio Vai all'inizio della pagina è impossibile. So che il problema è che lo script ha risolto il problema div, ma non so come risolverlo. Qualche idea?

+2

nel codice HTML alla demo, si collega a '# four' in entrambi i collegamenti, è intenzionale? –

+0

No, è stato un errore. L'ho riparato. – MaSza

risposta

2

aggiungere un gestore di click che va nella parte superiore della pagina:

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

jsfiddle.net/jx8nmhfq/1

+0

Awsome! Grazie :-) Ho bisogno di qualcosa esattamente quello che scrivi, qualcosa come "guarda, è così facile", perché ho perso molto tempo a cercare la soluzione. – MaSza