私は少し実験をしていて、ループを介してCS「クラス」を適用することが理にかなっているように見えるいくつかの機会に遭遇しました。
例えば:
if ($areas = $('.itemParent')).length >= 1
class SomeClass
constructor: (el) ->
@$parent = el
@$overflow = el.find('.overflow')
@$items = @$overflow.find('.item')
@max = @$items.length - 1
@current = 0
# Gets us to an area
goToItem: (i) ->
@$overflow.animate
scrollLeft: @$items.eq(i).position().left
, 450, 'easeInOutQuad'
# Binds each item
bindItems: ->
@$parent.find('.item').bind 'click tap', (e) =>
el = $(e.target).parents('.item')
@$items.removeClass('active')
el.addClass('active')
@goToItem(el.index())
@
# Iterate and apply the structure to all areas
$areas.each ->
area = new SomeClass($(@))
area.bindItems()
それらをすべて「グローバルに」バインドするよりも構造化されているように見えます。これを行うには不十分な方法ですか?