理解carasoul.js

时间:2015-05-22 19:04:59

标签: javascript jquery

嘿伙计们,我是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

1 个答案:

答案 0 :(得分:0)

用于呼叫链接。你可以用链接做这样的事情:

carouselInstance.slide().next().cycle().to(5);

另一方面,getItemForDirection()方法应该返回一些项目,因此在这种情况下不能使用它。