Je voudrais faire quelque chose comme:Comment annuler scrollTo s'il a été déclenché?
var scrollable;
scrollable = $(window).scrollTo(99999, 99999);
$(window).scroll(function() {
// cancel the scrollTo
scrollable = null;
});
Je voudrais faire quelque chose comme:Comment annuler scrollTo s'il a été déclenché?
var scrollable;
scrollable = $(window).scrollTo(99999, 99999);
$(window).scroll(function() {
// cancel the scrollTo
scrollable = null;
});
Après quelques tripoter, je trouve cela bien.
$(window).scrollTo(99999, 99999);
$(window).click(function() {
stopScroll();
});
if(window.addEventListener) document.addEventListener('DOMMouseScroll', stopScroll, false);
document.onmousewheel = stopScroll;
function stopScroll() {
$(window).stop(true, false); // Stops and dequeue's animations
}
Pas besoin de modifier le plugin ou la source!
Basé sur le code de jonobr1 cela fonctionne pour moi:
if(window.addEventListener) document.addEventListener('DOMMouseScroll', stopScroll, false);
document.onmousewheel = stopScroll;
function stopScroll() {
$(window)._scrollable().stop(true, false); // Stops and dequeue's animations
}
J'ai ajouté un appel à stopScroll avant mon scrollTo appelle à mes gestionnaires d'événements aussi.
À l'intérieur du défilement() - permet d'obtenir la position de défilement actuelle de la fenêtre et d'appeler scrollTo() sur ces coordonnées. – Mikhail
hmmm, il semble que votre conseil fonctionne, mais la chose drôle est que scrollTo déclenche défilement. Je dois attacher le défilement à un événement de souris. Je pense que – jonobr1
il fait la queue le défilement est un délai 0 très étrange, ce qui provoque des problèmes selon la version de jQuery que vous utilisez ... pas sûr que vous * pouvez * l'interrompre, sauf si vous changez le '.scrollTo()' source est une option. –