Можно вне функции создать триггер - boolean переменную, и position - переменную для хранения предыдущего положения на экране. Внутри функции - менять значение boolean на обратное, и, в зависимости от значения этой переменной:
А. Сохранять текущее положение на экране, а после выполнять скролл,
Б. Возвращать к предыдущему положению из position