2014-11-24 11 views

risposta

5

Avere questo codice HTML:

<a href="#test">link</a> 
<div id="test"></div> 

si può evitare lo scorrimento all'elemento div e invece scorrendo fino alla parte superiore della finestra utilizzando questo codice:

$("a").on("click", function(e) { 
    e.preventDefault(); 
    window.scrollTo(0, 0); 
}); 

EDIT:

Puoi provare ad aggiungere questo:

var firstVisit = true; 
$(window).scroll(function() { 
    if (firstVisit) { 
     window.scrollTo(0, 0); 
     firstVisit = false; 
    } 
}); 
+0

Grazie, ma il problema non è quando faccio clic su qualsiasi cosa, piuttosto quando "visita" la pagina. – drake035

+0

@ drake035 Ho modificato la risposta. Non so se è il modo più efficiente o migliore, ma sembra funzionare. – Dim13i

+0

Thx ma non funziona. – drake035

11

Quello che devi fare è archiviare l'hashtag per uso futuro e quindi cancellarlo in modo che il browser non abbia nulla da scorrere.

È importante non inserire quella parte del codice nelle funzioni $() o $ (finestra) .load() come sarebbe in ritardo e il browser è già stato spostato sul tag.

// store the hash (DON'T put this code inside the $() function, it has to be executed 
// right away before the browser can start scrolling! 
var target = window.location.hash, 
    target = target.replace('#', ''); 

// delete hash so the page won't scroll to it 
window.location.hash = ""; 

// now whenever you are ready do whatever you want 
// (in this case I use jQuery to scroll to the tag after the page has loaded) 
$(window).load(function() { 
    if (target) { 
     $('html, body').animate({ 
      scrollTop: $("#" + target).offset().top 
     }, 700, 'swing', function() {}); 
    } 
}); 
+1

mi sono imbattuto in un bug con FF dove stavo usando overflow-height max-height su un div con una lista veramente lunga, FF dovrei scorrere verso il basso dove il nodo nascosto sarebbe nella dom. Questo ha usato solo le prime tre righe del codice reale (non i commenti) e questo ha corretto il mio problema con FireFox. – wintercyborg

Problemi correlati