salve, ho un div#content che contiene diversi link con classe "highlight"
Sto scrivendo queste due funzioni per fare due pulsanti per navigare tra i diversi link (con un semplice scroll del div)..ma lo scroll non funge bene, a volte next_anchor.offset() è undefined, tra l'altro sembra che lo scroll jquery sia influenzato dalla posizione corrente dello scroll, cioè se scrollo a mano il div di qualche riga e poi clicco sul pulsante scrollToNext, mi pare che lo scroll vada di qualche riga più in basso di quello che deve essere.
In pratica la logica del codice è che ad ogni chiamata a scrollToNext sposto la classe "current" al prossimo a.hightlight e scrollo. Ma c'è qualche errore..
codice:function scrollToNext(){ var current_anchor = $('#content a.current'); if(!current_anchor) console.log('undef!') console.log(current_anchor.html()); var $a = $('#content a.highlight'); var next_anchor = $a.eq($a.index(current_anchor) + 1); current_anchor.removeClass('current'); next_anchor.addClass('current') $('#content').animate({scrollTop:next_anchor.offset().top}); } function scrollToPrev(){ var current_anchor = $('#content a.current'); var $a = $('#content a.highlight'); var previous_anchor = $a.eq($a.index(current_anchor) - 1); current_anchor.removeClass('current'); previous_anchor.addClass('current') $('#content').animate({scrollTop:previous_anchor.offset().top}); }


Rispondi quotando