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