Ваш код:
// setup autocomplete function pulling from currencies[] array
$('#autocomplete').autocomplete({
lookup: currencies,
onSelect: function (suggestion) {
console.log(suggestion);
var top = $('#'+ suggestion.data).offset().top - 10;
$('html,body').stop().animate({scrollTop: top}, 500);
$('#autocomplete').val('');
var scroll = $(window).scrollTop();
if (scroll) {
$("#"+ suggestion.data).addClass("active");
setTimeout(function() {
$("#"+ suggestion.data).removeClass("active");
}, 7000);
}
}
});
В чём сакральный смысл получения значения
$(window).scrollTop()
и условия, основанного на этом значении? Не работает из-за этого.
А вот это "через раз" - работает только когда у вас страница хоть сколько нибудь проскроллена (больше чем на 0 пикселей)