Dynamic 动态加载div时使iscroll工作

Dynamic 动态加载div时使iscroll工作,dynamic,iscroll4,Dynamic,Iscroll4,有人能解释一下,如果可能的话,举个例子,如何在iscroll div中加载动态内容并为其指定一个新的高度吗 我可以让它工作,但我不能控制新内容的滚动高度 我对这一切都不熟悉,不知道该怎么开始 以下是我正在研究的内容: 加载页面时,您会看到没有内容的滚动条。。。 单击print/damm(显示我最初为此内容设置的高度) 单击print/fcbarcelona(保持与以前使用的卷轴相同的高度和位置),您会发现它无法正常工作。 显然,我不希望卷轴在没有必要的时候出现 任何帮助都将不胜感激。当您将新数

有人能解释一下,如果可能的话,举个例子,如何在iscroll div中加载动态内容并为其指定一个新的高度吗

我可以让它工作,但我不能控制新内容的滚动高度

我对这一切都不熟悉,不知道该怎么开始

以下是我正在研究的内容:

加载页面时,您会看到没有内容的滚动条。。。 单击print/damm(显示我最初为此内容设置的高度) 单击print/fcbarcelona(保持与以前使用的卷轴相同的高度和位置),您会发现它无法正常工作。 显然,我不希望卷轴在没有必要的时候出现


任何帮助都将不胜感激。

当您将新数据插入iScroll时,请尝试以下步骤

//myScroll is a global variable you initialize iScroll on
myScroll.destroy();
myScroll = null;
loaded();//this is a functions where you have have your iScroll initializer 

最好在iScroll中使用refresh()方法,该方法将重新计算高度

myScroll.refresh();

我有一个类似的问题,只是
refresh()
没有帮助,所以没有帮助销毁和重新创建iScroll。在我的例子中,我将许多元素加载到iScroll div中。解决问题的方法是
setTimeout()
。如前所述,将
0ms
添加到
setTimeout()
将解决很多问题。我的情况是
500ms
=

下面是代码示例:

    var myScroll;

    function createIScroll(){
    myScroll = new iScroll('wrapper');
    }

    function iScrollRefresh(){
      setTimeout(function(){
         myScroll.refresh(); 
      }, 500);
    }
$ajax(){ 
//receiving data
}
function someFunction(){
  //dynamic content is created
  iScrollRefresh();
}

我的问题是
refresh()
函数是在内容插入DOM之前执行的,所以增加超时时间会有所帮助。我希望它能帮助像我这样的初学者

要查看高度变化:

setInterval(function () {
    var newScrollerHeight = $scroller.innerHeight();

    if (newScrollerHeight !== prevScrollerHeight) {
         prevScrollerHeight = newScrollerHeight;
         myScroll.refresh();
    }
}, 500);

看一看iScroll4

在iscroll.js中,我看到了实验选项:checkDOMChanges:false,//experiative
您可以启用并使用它。

对我来说同样,单独刷新不起作用,但setTimeout确实解决了这个问题,谢谢。*意思是destroy()