为分页导航功能添加延迟
Add delay to paginate navigate function
我希望在我发现的分页导航功能中添加延迟,以便当用户按下前进或后退按钮时,代码将在实际导航到页面之前延迟600ms。
我一直关注的代码是:
paginatelinks[i].onclick = function () {
setTimeout(function () { instanceOfBox.navigate(this.getAttribute('rel')) }, 600)
return false
}
如果我添加600ms的setTimeout函数到onClick,我得到一个错误的'未定义的不是一个函数'
下面是整个分页函数
的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])
}
}
}
当setTimeout被执行时,没有更多的"this"。尝试将其保存在一个变量中,然后使用变量
相关文章:
- 为JS函数添加延迟
- 如何为.css状态的更改添加延迟
- 我在向jquery脚本添加延迟时遇到问题
- 如何在使用flash音乐播放器的母版页中自动播放音乐之前添加延迟
- 在添加类之后,为DIPLAY内容添加延迟
- 如何在启动Mocha测试用例之前添加延迟
- 如何添加延迟计时器
- 尝试向 jQuery AJAX 请求添加延迟
- 如何在 AJAX 函数中添加延迟函数
- 如何使用 JQuery 添加延迟?(让它等待 5 秒再继续)
- 如何在引导下拉列表悬停时添加延迟
- 向每个列表项添加延迟的 CSS 动画
- 向 JavaScript 函数添加延迟
- 在“for”循环迭代之间添加延迟
- 使用Javascript向鼠标悬停添加延迟
- 在ajax脚本中添加延迟
- 在Ajax调用后向JQuery keyup()添加延迟
- 在showMessage()之后添加延迟
- 在带有传递给函数的变量的javascript循环中添加延迟
- Javascript为动画添加延迟