Mam małą animację strony głównej i potrzebujęaby wyłączyć kółko myszy, aż się skończy (co robię za pomocą wtyczki kółka myszy jquery). Moim problemem jest to, że nie mogę dowiedzieć się, jak ponownie włączyć kółko myszy po tej animacji.
$("html, body").animate({
scrollTop: $("#header").position().top }, 3000).bind("mousewheel", function() {
return false; });
Odpowiedzi:
4 dla odpowiedzi № 1Mógłbym zgadywać .unbind("mousewheel")
byłoby rzeczą. Więc:
$("html, body").animate({
scrollTop: $("#header").position().top
}, 3000, function() {
$(this).unbind("mousewheel");
}).bind("mousewheel", function () {
return false;
});
The .animate()
metoda pozwala ci na dostarczenie funkcji zwrotnej, która zostanie wywołana po zakończeniu animacji, więc w ramach tej funkcji możesz odłączyć uchwyt kółka myszy.
(Uwaga: jeśli używasz jQuery w wersji 1.7 lub nowszej, zazwyczaj zaleca się używanie .on()
i .off()
zamiast .bind()
i .unbind()
, ale w tym celu robią to samo.)