Ho sofferto con questo per un po 'di tempo .. Sto usando questo codice per monitorare la rotellina del mouse in modo che possa essere utilizzato per lo scorrimento con un cursore che ho .. tuttavia, ha un problema dove le azioni in coda così se si scorre con la rotellina del mouse veloce (come chiunque farebbe normalmente) si accumulano e causa un comportamento bacato. So di gestire questo tipo di problema con l'animazione, ma non con un monitor rotellina del mouse ..Jquery, annullando l'evento della rotellina del mouse, quindi riavvolgendolo dopo che le azioni sono state completate?
I vuoi fare qualcosa come separare la rotellina del mouse all'inizio dell'azione (in questo caso, per far scorrere la barra di scorrimento dopo che la rotellina del mouse viene spostata), quindi ricollegarla, quindi se l'utente esegue troppe rotazioni troppo velocemente, ignora fino allo scorrimento iniziale è completato .. Ho provato il codice qui sotto ma non è riconfermato quindi non sono sicuro di cosa sto facendo male, ogni consiglio è apprezzato.
$("#wavetextcontainer").bind("mousewheel", function(event, delta) {
//HERE IS WHERE EVENT IS UNBOUND:
$("#wavetextcontainer").unbind("mousewheel");
var speed = 10;
var mySlider = $("#slider");
var sliderVal = mySlider.slider("option", "value");
sliderVal += (delta*speed);
if (sliderVal > mySlider.slider("option", "max")) sliderVal = mySlider.slider("option", "max");
else if (sliderVal < mySlider.slider("option", "min")) sliderVal = mySlider.slider("option", "min");
$("#slider").slider("value", sliderVal);
event.preventDefault();
// HERE I WANT TO REBIND THE EVENT:
$("#wavetextcontainer").bind("mousewheel");
});
Grazie tu per la risposta veloce, proverò che .. – Rick
Vedo ora .. le funzioni anonime sono qualcosa che ho faticato un po 'dal momento che non esiste nelle altre lingue che ho usato in precedenza .. questo aiuta a chiarirlo, grazie – Rick
@Rick - Benvenuti :) Ho aggiunto un'altra alternativa che potrebbe semplificare ulteriormente le cose per voi, provatelo. –