我在一个用iScroll /Cordova构建的JQTouch iPhone应用程序中使用了Cordova 4 (cubiq.org/iscroll-4)。
我的问题是,水平滚动,虽然是'hScroll: true',但直到我放大和缩小我的图像,这使一切正常工作(确认iScroll工作和包装/滚动的CSS是正确的)。
HTML:
<div id="wrapper">
<div id="scroller"></div> // Also tried with img-tag in div instead of as bg
</div>CSS:
#wrapper {
position:absolute;
top:45px; bottom:0; left:0; // 45px is header
z-index:1;
width:100%; // Also tried with window size (320)
overflow:auto; // Also tried with scroll
}
#scroller {
position:absolute; z-index:1;
width: 1024px; // The size of my image
height: 414px; // The height of my image
background: url(img/test.png) no-repeat;
padding: 0;
}JAVASCRIPT:
var myScroll;
function loaded() {
myScroll = new iScroll('wrapper', {
hScrollbar: true,
vScrollbar: true,
hScroll: true,
vScroll: true,
zoom: true
});
}更改'vScroll‘和'zoom’的参数会立即达到预期的效果。在启动缩放之前,与水平滚动相关的参数不会执行任何操作。
我尝试刷新包装器或在加载后滚动到一个坐标,编辑我的应用程序的加载顺序,但都没有帮助。
谢谢你的时间,安德烈亚斯。
发布于 2012-08-08 02:55:17
您需要手动启用hScroll选项。
在我需要缩放的每个div中,我都包含了以下代码:
data-iscroll='{"zoom":true, "hScroll":true }'发布于 2012-08-31 17:18:35
这可能是因为包装器的div宽度每次都小于滚动条的div宽度。
发布于 2014-01-30 12:15:52
我遇到了类似的问题,除了图像元素在缩放或调整窗口大小之前根本不会滚动。这个问题原来是与DOM更新有关的。我是在一个当时隐藏的元素上创建滚动条的。当它后来变得可见时,滚动不起作用。原来我必须显示然后刷新滚动条。
你可以在这里找到更多信息:http://iscrolljs.com/#refresh
示例代码:
ajax('page.php', onCompletion);
function onCompletion () {
// Update here your DOM
setTimeout(function () {
myScroll.refresh();
}, 0);
};https://stackoverflow.com/questions/11783402
复制相似问题