Sha256: 791041f443292dd86bdba2797ededbc8f813efcfd53531c132dd1dd257b31ebf

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

$ ->
  intitalizeSlider()

intitalizeSlider = ->
  carousel = $('.carousel')
  console.log carousel
  if carousel.length
    computeSlidingTimeAndSlideIt(0) # start with first slide

    contolWrapper = carousel.find('.carousel-controls')
    contolWrapper.on 'click', 'a', ->
      index = $(@).parent().index()
      goToSlide(index)
      false

carouselTimeoutId = null
computeSlidingTimeAndSlideIt = (activeIndex) ->
  carousel = $('.carousel')
  slides = carousel.find('.carousel-images .item')
  currentSlide = slides.eq(activeIndex)
  nextSlide = if activeIndex + 2 <= slides.length then activeIndex + 1 else 0
  length = 6000
  clearTimeout carouselTimeoutId
  carouselTimeoutId = setTimeout ->
      goToSlide(nextSlide)
    , length
  carousel.off('mouseenter').on 'mouseenter', -> # halt the carousel
    clearTimeout carouselTimeoutId
  carousel.off('mouseleave').on 'mouseleave', -> # continnue to slide
    clearTimeout carouselTimeoutId
    carouselTimeoutId = setTimeout ->
      goToSlide(nextSlide)
    , length

goToSlide = (slideIndex) ->
  carousel = $('.carousel')
  slides = carousel.find('.carousel-images')
  controls = carousel.find('.carousel-controls')
  slides.find('.active').removeClass 'active'
  slides.find('.item').eq(slideIndex).addClass 'active'
  controls.find('.active').removeClass 'active'
  controls.find('.item').eq(slideIndex).addClass 'active'
  clearTimeout carouselTimeoutId
  computeSlidingTimeAndSlideIt(slideIndex)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
comfypress-0.1.4 app/assets/javascripts/comfypress/cms_content/carousel.coffee