iScroll文档显示了典型的iScroll设置,如下所示。
var myScroll;
function loaded() {
setTimeout(function () {
myScroll = new iScroll('wrapper');
}, 100);
}
window.addEventListener('load', loaded, false);
我的问题是如何调用滚动条?如果我使用:
var currentItem = 5;
myScroll.scrollToElement('.nav > li:nth-child('+currentItem+')', 300);
我收到错误。
Uncaught TypeError: Cannot call method 'scrollToElement' of undefined
答案 0 :(得分:0)
看起来您在第一个参数中添加了额外的引号。
删除引号,然后尝试将代码更改为以下
myScroll.scrollToElement('.nav > li:nth-child(5)', 300);
如果您希望使查询动态化,请将数字替换为变量并添加加号以连接字符串。
var incNumber = 5;
myScroll.scrollToElement('.nav > li:nth-child('+ incNumber +')', 300);
您的iScroll似乎也会在超时延迟时创建。在实例化库之前是否调用了函数?
答案 1 :(得分:0)
我想您需要使用您为iScroll分配的变量名称:
myScroll.scrollToElement ...
而不是
scroller.scrollTo ...
<强>更新强>
根据你后面的测试,这显然是一个时间错误。您可以在执行超时功能之前调用myScroll.scrollToElement
。