0

为出版物构建应用程序。对于目录,我有一个简单的下拉列表,它最初隐藏了带有部分的无序列表,并且在“点击”时会显示相应的 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();
  }

  });
4

1 回答 1

0

在 slideDown 的回调中添加刷新:

$(this).next().slideDown(200, function() {
    iScrollRefresh();
});
于 2013-09-10T18:11:54.390 回答