49 lines
		
	
	
		
			994 B
		
	
	
	
		
			CoffeeScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			994 B
		
	
	
	
		
			CoffeeScript
		
	
	
	
	
	
defaultClass = 'mastodon-shape'
 | 
						|
pieces = [
 | 
						|
  'path#mastodon-tusk-front, path#mastodon-tusk-back',
 | 
						|
  'path#mastodon-nose',
 | 
						|
  'path#mastodon-cheek',
 | 
						|
  'path#mastodon-forehead',
 | 
						|
  'path#mastodon-backhead',
 | 
						|
  'path#mastodon-ear',
 | 
						|
]
 | 
						|
pieceIndex = 0
 | 
						|
firstPiece = pieces[0]
 | 
						|
 | 
						|
currentTimer = null
 | 
						|
delay        = 100
 | 
						|
runs         = 0
 | 
						|
stop_at_run  = 1
 | 
						|
 | 
						|
clearHighlights = ->
 | 
						|
  $(".#{defaultClass}.highlight").attr('class', defaultClass)
 | 
						|
 | 
						|
start = ->
 | 
						|
  clearHighlights()
 | 
						|
  pieceIndex = 0
 | 
						|
  runs = 0
 | 
						|
  pieces.reverse() unless pieces[0] == firstPiece
 | 
						|
  clearInterval(currentTimer) if currentTimer
 | 
						|
  currentTimer = setInterval(work, delay)
 | 
						|
 | 
						|
stop = ->
 | 
						|
  clearInterval(currentTimer)
 | 
						|
  clearHighlights()
 | 
						|
 | 
						|
work = ->
 | 
						|
  clearHighlights()
 | 
						|
  $(pieces[pieceIndex]).attr('class', "#{defaultClass} highlight")
 | 
						|
 | 
						|
  if pieceIndex == pieces.length - 1
 | 
						|
    pieceIndex = 0
 | 
						|
    pieces.reverse()
 | 
						|
    runs++
 | 
						|
  else
 | 
						|
    pieceIndex++
 | 
						|
 | 
						|
  if runs == stop_at_run
 | 
						|
    stop()
 | 
						|
 | 
						|
$(document).on 'turbolinks:load', ->
 | 
						|
  setTimeout(start, 100)
 |