Я использую плагин scrollTo и выполняю его в функции обратного вызова метода animate в событии «click».
Страница прокручивается просто отлично, но если я воспользуюсь колесиком мыши или полосой прокрутки, чтобы попытаться вернуться назад, она мне не даст. Он просто застрял и борется со мной, создавая эффект прыжка. Примерно через секунду он возвращается к нормальному поведению.
Я не могу показать точное место, где это происходит (не разрешено), но я скопировал код ниже:
// This function finds the first item that has an opacity set to 1 (full)
function moveIt() {
var theItem = $('.work').filter( function(j) { return $(this).css('opacity') == 1 } ).eq(0);
$("html").scrollTo( theItem, 350 );
}
$("#work-menu-client a").click(
function () {
var val = $(this).attr("href");
val = val.substring(1, val.length);
if( val.length ) {
$(".work[data-client*='" + val + "']").animate({
opacity: 1
}, 350, function() {
// Complete
});
$(".work:not([data-client*='" + val + "'])").animate({
opacity: 0.05
}, 350, function() {
moveIt();
});
}
return false;
},
function () {
return false;
}
);
Не беспокойтесь о том, что все это делает, но что-то не так с помещением этого кода в функцию обратного вызова. Почти как он продолжает повторять / повторять обратный вызов, поэтому я не могу вернуться назад.
(Если вы хотите знать, в основном, меню позволяет мне постепенно увеличивать и уменьшать размеры определенных элементов в зависимости от их атрибута, тогда я перехожу к первому случаю, когда непрозрачность не исчезла.)
Любая помощь будет принята с благодарностью.
Я нашел кого-то с подобной проблемой, но она не была решена, и там мало отзывов: JQUERY, scrollTo, после прокрутки вниз страница не позволит мне прокрутиться вверх на секунду ... Y
Большое спасибо,
Майкл.
РЕДАКТИРОВАТЬ: На самом деле, я только что заметил, что я тоже не могу прокрутить вниз ... так что, по сути, я застрял в положении, в котором он меня послал.