我希望为我找到的分页导航功能添加一个延迟,以便当用户按下前进或后退按钮时,代码将在实际导航到页面之前延迟600毫秒。
我一直关注的代码是:
paginatelinks[i].onclick = function () {
setTimeout(function () { instanceOfBox.navigate(this.getAttribute('rel')) }, 600)
return false
}
如果我向onClick添加600ms的setTimeout函数,我会收到错误“未定义不是函数'
以下是整个分页功能的JSFIDDLE
以下是onClick函数的片段:
paginate.prototype.paginate_build_regularlinks = function (paginatelinks) {
var instanceOfBox = this
for (var i = 0; i < paginatelinks.length; i++) {
var currentpagerel = paginatelinks[i].getAttribute('rel')
if (/^(previous)|(next)|(first)|(last)$/.test(currentpagerel)) { //screen for these 'rel' values
paginatelinks[i].onclick = function () {
instanceOfBox.navigate(this.getAttribute('rel'))
return false
}
}
if (currentpagerel == 'previous' || paginatelinks[i].href.indexOf('previous') != -1) { //check if this is a 'previous' link
if (!this.wraparound && this.currentpage == 0) //if current page is first page, disable 'prev' link
paginate.setcssclass(paginatelinks[i], 'disabled', 'add')
this.prevlinks.push(paginatelinks[i])
}
else if (currentpagerel == 'next' || paginatelinks[i].href.indexOf('next') != -1) { //check if this is a 'next' link
if (!this.wraparound && this.currentpage == this.pagecount - 1) //if current page is last page, disable 'next' link
paginate.setcssclass(paginatelinks[i], 'disabled', 'add')
this.nextlinks.push(paginatelinks[i])
}
}
}
答案 0 :(得分:1)
执行setTimeout时,不再有“this”。 尝试将其保存在变量中,然后使用变量。