Javascript iOS div momentum无固定高度滚动(通过ajax加载内容)?
我正在创建一个iOS网络应用程序,它有一个固定的div(比如说Javascript iOS div momentum无固定高度滚动(通过ajax加载内容)?,javascript,css,ios,jquery,Javascript,Css,Ios,Jquery,我正在创建一个iOS网络应用程序,它有一个固定的div(比如说200pxheight),并且里面的内容会滚动。我不喜欢默认的iOS滚动,因为它不像你只需向下滑动网页就能找到的本机滚动(iOS中的本机滚动有动量,而overflow的默认滚动没有动量) 我正在尝试滚动的div具有以下特性: 设定宽度 动态高度(通过AJAX的内容) 使用jqueryajax将内容从外部网站加载到div,并且可以选择重新加载AJAX请求。这意味着,根据加载页面中的内容量,div的高度将发生变化 在iOS中,div没有设
200px
height),并且里面的内容会滚动。我不喜欢默认的iOS滚动,因为它不像你只需向下滑动网页就能找到的本机滚动(iOS中的本机滚动有动量,而overflow
的默认滚动没有动量)
我正在尝试滚动的div
具有以下特性:
div
,并且可以选择重新加载AJAX请求。这意味着,根据加载页面中的内容量,div
的高度将发生变化
在iOS中,div
没有设置的情况下,我似乎找不到任何允许动量滚动的解决方案,我尝试了以下方法:
-webkit溢出滚动:触摸
css
标记,通常工作正常。这是新的,但有很多错误,包括一个交易破坏者为我的网络应用程序之一。如果将焦点放在输入元素上,页面将放大(即使meta
标记设置为user scalable:no
),直到在文本框中键入文本后才会缩小,然后按3px
关闭所有内容
TL;DR:除了
-webkit溢出滚动
和iScroll
之外,还有其他解决方案可以让我在iOS中使用动态高度(通过AJAX加载的内容)的div上使用动量滚动吗?我目前解决动态高度问题的方法是在DOM更新后设置高度。我使用以下代码执行此操作:
document.getElementById('content').style.height = window.innerHeight - getPosition('loading')[1] + "px";
在本例中,主DIV是“content”,我在该DIV的正上方有一个称为loading的span,它将该DIV用作参考点,因为页眉的大小根据您所使用的webapp的哪个部分而变化。下面是getPosition函数:
function getPosition(who){
var e = document.getElementById(who);
var position = {x:0,y:0};
while (e) {
position.x += e.offsetLeft;
position.y += e.offsetTop;
e = e.offsetParent;
}
return [position.x , position.y];};
此外,我相信自iOS 5.0.1以来,缩放功能已经得到了修复。我目前为克服动态高度问题所做的是在DOM更新后设置高度。我使用以下代码执行此操作:
document.getElementById('content').style.height = window.innerHeight - getPosition('loading')[1] + "px";
在本例中,主DIV是“content”,我在该DIV的正上方有一个称为loading的span,它将该DIV用作参考点,因为页眉的大小根据您所使用的webapp的哪个部分而变化。下面是getPosition函数:
function getPosition(who){
var e = document.getElementById(who);
var position = {x:0,y:0};
while (e) {
position.x += e.offsetLeft;
position.y += e.offsetTop;
e = e.offsetParent;
}
return [position.x , position.y];};
此外,我相信从iOS 5.0.1开始,变焦功能就得到了修复