示例代码:
http://pastebin.com/95z3pftQ
我正在尝试构建一个带有固定标题的移动页面,以及一个“内容”部分,它将填充外部(已清理,但其他任意)HTML.我需要使用iscroll或类似的东西,因为我需要支持垂直/水平滚动和缩放,它没有本机等效.
问题是,使用width = device-width元视口指令,移动Safari会将所有块级元素调整为屏幕宽度,而不管其内容的宽度如何,除非它们指定了宽度.然后iscroll查看容器的宽度(这是屏幕的宽度),并且不知道有更多内容要水平滚动.所以在这个例子中,我iPhone上div#container的计算宽度是290px,但table#really-wide-content的计算宽度是1000px.
有没有在某种程度上禁用页面上一个div内的元视口指令的效果?请注意,虽然我可以根据需要以编程方式更改内联样式,但我无法知道内容的宽度或内容的大小.
解决方法
您可以在加载后的某个时刻设置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首先加载容纳内容.