更新: 我能够让我的卷轴按照需要工作,但我觉得我已经破解了实际问题,如果有人有更坚实的答案我会喜欢它,我已经更新并注意到我正在使用的新jQuery下面的片段的
我正在使用iScroll-4(http://cubiq.org/iscroll-4)作为iPad / Android网络应用程序,所有内容都与滑动和滚动完美配合,但我在应用程序开头有一个目录,允许用户使用跳转到滚动条的特定区域 -
我正在使用iScroll函数scrollToElement(element, duration)
来跳转到不同的区域。同时使用scrollToPage(page, duration)
允许用户一次手动向前和向后导航一页。
在我使用currPageX
功能导航时以及当我滑动时,观看控制台时会记录scrollToPage
变量更新,但在使用scrollToElement
时,currPageX
变量不会更新
因此,如果我跳转到某个元素,然后使用scrollToPage('next', 0)
向前导航,它将向后移动并导航到目录后面的下一页。
我尝试在scroll.refresh()
之后使用scrollToElement
函数,之前将函数置于超时等等,我无法弄清楚为什么currPageX
没有更新。
这是我使用两个不同功能的jQuery代码片段:
// TO NAVIGATE FORWARD AND BACKWARDS
$('span.control').on('click', function() {
var slideDir = $(this).attr('data-dir');
if (slideDir == 'prev') {
var tehPg = tehScroll.currPageX-1;
} else if (slideDir == 'next') {
var tehPg = tehScroll.currPageX+1;
}
tehScroll.scrollToPage(tehPg, 0);
return false;
});
// TO JUMP FROM CONTENTS
$('li[data-page="toc"] span').on('click', function() {
var toPage = $(this).attr('data-page');
tehScroll.scrollToElement('li[data-page="'+toPage+'"]', 800);
// ADDED THE FOLLOWING LINE TO MANUALLY SET currPageX after scrolling!
tehScroll.currPageX = $('#slides li[data-page="'+toPage+'"]').index();
return false;
});
答案 0 :(得分:0)