Мне кажется, я вижу твою проблему. Попробуйте заменить код setTimeout
следующим:
// Fade in test box
setTimeout(function() {
testBox.fadeIn(function() {
// Scroll box into view
$(document).scrollTo(item, 1000);
});
}, 280);
Причина, по которой ваш исходный код раньше не работал, заключалась в том, что когда $(document).scrollTo(item, 1000)
назывался item
, он еще не был виден, поэтому scrollTo
не знал, где находится элемент.
РЕДАКТИРОВАТЬ в ответ на комментарий с примером кода:
Похоже, ошибка, которую вы видите , а не с помощью функции showBox
, которую вы опубликовали выше. Проблема вызвана тем, что элементы с классом showMe
скрываются после вызова функции scrollTo
. Попробуйте скрыть элементы showMe
, как только пользователь щелкнет по ним, а не затемнять их.