Skip to content

Instantly share code, notes, and snippets.

@anthonycole
Created September 3, 2013 08:00
Show Gist options
  • Save anthonycole/6420897 to your computer and use it in GitHub Desktop.
Save anthonycole/6420897 to your computer and use it in GitHub Desktop.
Having issues binding an event to some markup that's been loaded. Might be something to do with being a bit noobbish at JS
class RegionPage extends Region
init : ->
# elements
@$playlistAside = @$el.find('#playlists-aside')
@$playlistAsideItem = @$playlistAside.find('p')
# events
@events.on 'page.toggleAside', => @toggleAside()
@events.on 'page.toggleAside', => @loadPlaylist()
@events.on 'page.clickPlaylistItem', => @loadVideoIntoEmbed()
@events.on 'page.is-tv', => @tvpage()
# dom events
if @$buttonPlaylists.length
@$buttonPlaylists.on 'click', (e) => @events.trigger('page.toggleAside')
@$playlistAsideItem.on 'click', (e) => @events.trigger('page.clickPlaylistItem')
@
loadVideoIntoEmbed : ->
# This isn't firing
@
loadPlaylist : ->
$.ajax 'http://gdata.youtube.com/feeds/api/playlists/PL5hLHrSULzNYgs8WlXGf9Zg5VpVcZIWkc?v=2&alt=json',
success : (res, status, xhr) ->
videos = ''
console.log(res.feed.entry)
$(res.feed.entry).each (video) ->
videos = videos + '<p data-bkg="' + @media$group.media$thumbnail[0].url + '">' + @title.$t + '</p>' + '<img src="' + @media$group.media$thumbnail[0].url + '" alt />'
$("#playlists-aside").html(videos)
error : (xhr, status, err) ->
complete : (xhr, status) ->
@
toggleAside : ->
if @$el.hasClass 'state-translate'
app.events.trigger 'page.asideIn'
else
app.events.trigger 'page.asideOut'
if Modernizr.cssanimations
app.animate {
element : @$el[0]
cssClass : 'state-translate'
}
else
animateOptions = { duration : 500, easing : 'swing' }
if @$el.hasClass 'playlists-displayed'
@$el.removeClass( 'playlists-displayed' )
@$el.animate { left : 0 }, animateOptions
else
@$el.animate { left : -300 }, animateOptions
@$el.addClass( 'playlists-displayed' )
@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment