水平滚动失败,width = device-width iscroll

时间:2012-12-15 04:30:13

标签: jquery-mobile mobile-safari viewport iscroll4

此处的示例代码:http://pastebin.com/95z3pftQ

我正在尝试构建一个带有固定标题的移动页面和一个“内容”部分,该部分将填充外部(已清理,但其他任意)HTML。我需要使用iscroll或类似的东西,因为我需要支持垂直/水平滚动和缩放,它没有本机等效项。

问题在于,使用width=device-width元视口指令,移动版Safari会将所有块级元素调整为屏幕宽度,而不管其内容的宽度如何,除非它们指定了宽度。 iscroll然后查看容器的宽度(这是屏幕的宽度),并且不知道有更多内容要水平滚动。因此,在此示例中,我的iPhone上div#container的计算宽度为290px,但table#really-wide-content的计算宽度为1000px。

是否有一些禁用元视口指令在页面上的一个div内的效果?请注意,虽然我可以根据需要以编程方式更改内联样式,但我无法知道内容有多宽,或者html结构是什么样的。

1 个答案:

答案 0 :(得分:0)

您可以在加载后的某个时刻设置iScroll的宽度,例如此JQuery示例:

$('#scroller').width(your_width);

通过https://stackoverflow.com/a/13898458/1085891

无论如何,您可以按照此处的建议加载页面后销毁并重新创建iScroll:How to set dynamic width in iScroll for scroller?

此外,您可以在加载发生后将视口宽度设置为width=device-width吗?也许这将允许iScroll首先加载容纳内容。