Я пытаюсь использовать JScrollPane, чтобы упростить реализацию прокрутки таблицы в моем приложении. Некоторые таблицы настолько велики, что я реализую динамическую загрузку элементов таблицы. Загрузка работает правильно, однако, когда таблица загружается с новыми элементами, метод scrollToY(int) не работает:
Scroll = {
init: function (idComponente, componenteAAtualizar, comando) {
var componente = $(PrimeFaces.escapeClientId(idComponente));
componente.container = $(PrimeFaces.escapeClientId(idComponente + ":container"));
componente.idComponenteAAtualizar = PrimeFaces.escapeClientId(componenteAAtualizar);
componente.desativado = false;;
componente.posicao=0;
componente.comando = comando;
componente.container[0].oncomplete = function (xhr, status, args) {
var idEscapadoPainelLista = PrimeFaces.escapeClientId(idComponente);
if (args != null)
componente.desativado = args.desativarLiveScroll;
componente.adicionarListenerScroll();
}
componente.adicionarListenerScroll = function () {
$('.ui-datatable-scrollable-body').jScrollPane();
$('.ui-datatable-scrollable-body').data('jsp').scrollToY(componente.posicao);
$('.ui-datatable-scrollable-body').bind('jsp-scroll-y', componente.atualizarElementos);
}
componente.removerListenerScroll = function () {
$('.ui-datatable-scrollable-body').unbind('jsp-scroll-y');
}
componente.atualizarElementos = function(event, scrollPositionY, isAtTop, isAtBottom) {
if (!componente.desativado && isAtBottom){
componente.posicao=scrollPositionY;
componente.removerListenerScroll();
comando();
}
};
componente.adicionarListenerScroll();
}
};
Почему я не могу прокрутить до нужной позиции?