Ho creato la mia funzione di scorrimento in javascript utilizzando un listener di eventi con la rotellina del mouse, il problema è che la funzione consente all'utente di continuare a scorrere verso il basso fino a lontano anziché fermarsi una volta raggiunto il fondo del scrolling div ..Funzione di scorrimento Javascript
Questo è quello che ho: http://jsfiddle.net/RjEr7/7/
la funzione in questione:
function do_it(e){
var jump = 50;
var parentHeight = parseInt(this.parentNode.offsetHeight)-50;
var childHeight = parseInt(this.offsetHeight);
var i = parseInt(this.style.marginTop, 10) || 0;
var wheel = e.wheelDeltaY;
var childHeightNew = childHeight + i;
if(wheel == -120){
if(childHeightNew > parentHeight){
i -= jump;
}
}else if(wheel == 120){
if((childHeightNew < childHeight) && i < 0){
i += jump;
if(i>0){
i=0;
}
}
}
this.style.marginTop = i + 'px';
}
nel JSfiddle, vedrete i rotoli scatola rossa troppo in alto. Non so come risolverlo però.
Per favore aiuto.
Sembra che il listener di eventi non sia cablato correttamente. Aggiungi avviso ('egewrweg'); all'inizio della funzione, per me non c'era alcun messaggio di avviso quando si scorreva. – frenchie
@frenchie http://jsfiddle.net/RjEr7/8/ l'avviso funziona bene. – Sir
http://jsfiddle.net/RjEr7/9/ funziona; non so perché, ma anche il violino appena aggiornato non fa scattare l'allarme. Utilizzare il gestore di scorrimento jQuery per eseguire il debug in modo tale che almeno siamo sicuri che il gestore funzioni. – frenchie