Provo a creare uno script di evento rotellina, ma ottengo alcuni problemi dal momento che sto usando un Apple Magic Mouse e la sua funzione continua-su-scorrimento .Come verificare ogni nuovo scorrimento ed evitare il problema dei mouse Apple (effetto a scorrimento multiplo)
io voglio fare questo http://jsfiddle.net/Sg8JQ/ (da jQuery Tools Scrollable with Mousewheel - scroll ONE position and stop, utilizzando http://brandonaaron.net/code/mousewheel/demos), ma voglio una breve animazione (come 250 ms) durante lo scorrimento di scatole, e la capacità di andare throught più caselle quando si scorre più volte nel corso di un'animazione. (Se si scorre, l'animazione inizia a scorrere alla seconda casella, ma se si scorre di nuovo, voglio andare alla terza e se scorrono due volte, alla quarta ecc.)
Ho pensato per la prima volta a stopPropagation
/preventDefault
/return false;
potrebbe "arrestare" la velocità della rotellina del mouse (e il var delta) - così posso contare il numero di nuovi eventi di scorrimento (magari con un timer) -, ma nessuno di loro lo fa.
Idee?
MODIFICA: se si tenta di scorrere in Google Calendari con questi mouse, vengono cambiati diversi calendari, non solo uno. Sembra che non possano aggiustarlo neanche.
MODIFICA 2: Ho pensato di separare la rotellina del mouse e legarlo di nuovo dopo aver fermato l'ascoltatore della rotellina della ruota (e non ascoltare la fine dell'inerzia). Io non l'ho fatto.
EDIT 3: ha provato a lavorare con le date (grazie a this post), non è ottimale, ma meglio di niente http://jsfiddle.net/eZ6KE/
Questo non sarà un problema solo su Magic Topi, ma su tutti i sistemi con lo scrolling inerziale (cioè tutti i Mac recenti, molti PC più recenti), il tuo suggerimento sul conteggio degli eventi di scorrimento sembra ragionevole e potresti doverlo implementare da solo. –
Sì hai ragione, questo è un problema inerziale (e sto sperimentando questo con il mio Magic Mouse). Se il conteggio degli eventi di scorrimento sembra una buona soluzione, non ho idea di come eseguirlo. Ho provato a verificare - ad ogni evento di scroll (chiamato ogni volta durante l'inerzia) se il delta precedente era> o <, ma la curva non è lineare, è elastica sul mio test. Qualche idea ? (Grazie comunque!) – Joan
Possibile correzione: https://github.com/brandonaaron/jquery-mousewheel/issues/36 (non ancora testato). – Joan