为出版物构建应用程序。对于目录,我有一个简单的下拉列表,它最初用部分隐藏无序列表,并在“点击”时显示相应的ul。我正在使用iScroll,当显示ul时,滚动被破坏并具有弹跳效果,这不允许您向下或向上滚动。我也在使用jqt.bars.js,它会引入iScroll并初始化它。我理解iScroll有刷新方法,它获取容器的新高度,允许您正确滚动。我无法让它正常工作。
这是我的jQuery / JS
var myScroll;
function createIScroll(){
myScroll = new iScroll('div#chapters div.sections-contents');
console.log('createIScroll');
}
function iScrollRefresh(){
setTimeout(function(){
myScroll.refresh();
}, 300);
console.log('refresh iScroll');
}
//CHAPTERS DROPDOWN
$(function() {
var chapter = $('ul#nav a.chapter-title');
var sections = $('ul#nav li ul');
sections.hide();
chapter.addClass('chapter-active');
$(chapter).on('tap', function() {
sections.slideUp();
chapter.removeClass('chapter-highlighted').addClass('chapter-active');
if( !$(this).next().is(":visible") ){
$(this).removeClass('chapter-active').addClass('chapter-highlighted');
$(this).next().slideDown(200);
console.log("slidedown");
iScrollRefresh();
}
});
答案 0 :(得分:0)
为slideDown的回调添加刷新:
$(this).next().slideDown(200, function() {
iScrollRefresh();
});