Программно перемещать / прокручивать элемент jqTouch - PullRequest
0 голосов
/ 17 августа 2011

У меня простой вопрос по поводу jqTouch. Это возможно программно слайд объекта jqTouch?

Скажем, например, что у меня есть список ul из 100 li элементов отсортировано по времени. Когда я создаю этот список, я хотел бы автоматически скользить к li с текущим временем - скажем, оно на позиции 50. Как могу ли я сделать это? Возможно ли это?

Например, в jCarousel вы можете выбрать номер прокрутки и вызвать .next (). Как насчет jqTouch? Возможно ли это, и если да, то как?

1 Ответ

0 голосов
/ 25 августа 2011

Когда вы создаете список, вы можете добавить класс, например, "currentTime" до li , к которому вы хотите перейти. затем используйте функцию scrollTop для прокрутки до положения li

function  scrollToElement(selector,animate) {
    //get the position of the li with class currentTime 
    var pos = $(selector).offset().top;
    if (animate){
        $('html,body').animate({ scrollTop: pos },'slow');
    } else {
        $('html,body').scrollTop(pos);
    }
}

Вы можете привязать его к одному из событий на странице jqtouch, как это. «#results» - это страница, на которую вы переходите, используя jqTouch.

$(function () {
    $('#results').bind('pageAnimationEnd', function (e, info) {
        if (info.direction === "in" && loadOnce) {
            scrollToElement('li.currentTime',animate)
        }
    });
});

Если вы не используете jqTouch, просто вызовите его в готовом документе jquery или в любом другом месте после загрузки списка в DOM

...