8

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

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

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

是否有某种方式可以禁用页面上一个 div 内的元视口指令的效果?请注意,我无法先验地知道内容的宽度,或者它的 html 结构是什么样的,但如果需要,我可以通过编程方式更改内联样式。

4

1 回答 1

0

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

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

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

无论如何,您可以按照此处的建议在页面加载后销毁并重新创建 iScroll:如何在 iScroll 中为滚动器设置动态宽度?

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

于 2012-12-20T13:18:36.767 回答