嘿伙计们,我是Jquery / JS的新手,我只是浏览了carasoul.js的代码,并遇到了以下几行代码:
Carousel.prototype.slide = function (type, next) {
var $active = this.$element.find('.item.active')
var $next = next || this.getItemForDirection(type, $active)
var isCycling = this.interval
var direction = type == 'next' ? 'left' : 'right'
var that = this
if ($next.hasClass('active')) return (this.sliding = false)
// ALOT MORE CODE
isCycling && this.cycle()
return this
}
我的困难在于最终理解return this
,为什么这行代码?
如果你浏览carasoul.js插件,slide()
函数会在函数next()
和prev()
内被调用。
现在插件中的很多函数都会返回结果,例如。 getItemForDirection()
函数。
Carousel.prototype.getItemForDirection = function (direction, active) {
// SOME CODE AND CALCULATIONS
return this.$items.eq(itemIndex)
}
我知道需要返回一个结果,但是在slide()函数中,为什么要返回?
我几天前正在阅读一篇文章here,它关于js链接,但不知怎的,我不理解幻灯片函数中return this
的实际用法。
感谢。
亚历-Z
答案 0 :(得分:0)
用于呼叫链接。你可以用链接做这样的事情:
carouselInstance.slide().next().cycle().to(5);
另一方面,getItemForDirection()
方法应该返回一些项目,因此在这种情况下不能使用它。