Come andare al tag di ancoraggio nel div scorrevole senza che l’intero browser salti in basso?

Sto costruendo un semplice widget di glossario come parte di un progetto più ampio per un cliente. Il contenuto del glossario è racchiuso all’interno di un div scorrevole (overflow: auto). Ad ogni lettera è associato un tag di ancoraggio (#a, #b, #c, ecc.). Sopra il div scorrevole è un div che contiene ogni lettera dell’alfabeto. Facendo clic su una di queste lettere si porta l’utente alle definizioni di quella lettera nel div scorrevole. Funziona, ma un effetto collaterale non voluto è che l’intera finestra salta all’ancora, il che è fonte di confusione e fastidio per l’utente.

Ecco il widget, spogliato un po ‘e con un po’ di
per farti vedere cosa intendo.

http://www.nitrohandsome.com/clients/topics/glossary-widget/

Avevo provato alcune idee javascript diverse che ho messo insieme da qualche googlilingua, ma non funzionava, quindi mi sono appena sbarazzato di tutto tranne che del codice di ancoraggio (sono un grande principiante JS). Quindi adesso, facendo clic su una delle lettere, si esegue questa funzione javascript, con il tag di ancoraggio passato:

  function jumpToAnchor(myAnchor) { window.location = String(window.location).replace(/\#.*$/, "") + myAnchor; } 

Come posso rimuoverlo in modo che la finestra generale non salti ogni volta che si fa clic su un collegamento?

    Grazie in anticipo!

    Se stai usando jQuery, puoi provare il plugin scrollTo . Inoltre, per modificare solo la parte hash o l’URL, puoi farlo

     function jumpToAnchor(myAnchor) { window.location.hash = myAnchor; } 

    Prova a usare IFrame invece di Div o crea una funzione specifica usando ScrollBy.