我认为您仍然可以使用 iScroll 进行水平滚动,但是refresh
只要内容尺寸发生变化,您就需要调用方法。在您的情况下,您可以收听orientationchange
事件并在refresh
您的 iScroll 对象的情况下执行。
检查iScroll 文档中的“掌握 refresh() 方法”部分。
希望能帮助到你!
编辑。您可以通过如下快速示例开始测试:
<div data-role="page" id="loadPage">
<div data-role="content">
<a href="#" data-role="button" onclick="addText();">Add text</a>
<div id="scroller" style="border: 1px solid green; white-space: nowrap; width: 300px;">
<div id="text" style="border: 1px solid red; height: 20px; width: 0px;"></div>
</div>
</div>
<script type="text/javascript">
var iscrollPage = null;
$('#loadPage').bind('pagebeforeshow', function () {
iscrollPage = new iScroll($('#scroller').get(0), { vScroll: false, hScroll: true });
});
function addText() {
$('#text').append((new Date()).getTime()).css('width', '+=140');
iscrollPage.refresh();
}
</script>
</div>