0
我有一個骨幹視圖,其中我想在視圖初始化時觸發事件resizeMovieFrame
。它對$(window).on("load", @resizeMovieFrame)
作出反應,因爲'hello'顯示在控制檯中。窗口加載不改變內容
但是,調整大小的代碼不會對加載做任何事情。但是,當我調整我的瀏覽器時,它確實有效。所以我想,當$(window).on("resize", @resizeMovieFrame)
被解僱時,沒有任何.movie-frame
div可以調整大小。如果是這種情況,那麼propper加載順序是什麼?
class Movieseat.Views.MovieseatsIndex extends Backbone.View
template: JST['movieseats/index']
id: 'something'
initialize: ->
@listenTo @collection, 'change', @renderEntries, this
@listenTo @collection, 'add', @renderEntries, this
@listenTo @collection, 'destroy', @renderEntries, this
$(window).on("resize", @resizeMovieFrame)
$(window).on("load", @resizeMovieFrame)
render: ->
$(@el).html(@template(entries: @collection))
this
events: ->
"click li": "addEntry"
"click .remove": "destroyEntry"
addEntry: (e) ->
movie_title = $(e.target).parent().find('.movie-title').text()
poster_path = $(e.target).parent().find('img').attr('src')
release_date = $(e.target).parent().find('.release_date').text()
console.log poster_path
@collection.create title: movie_title, image: poster_path, release_date: release_date
destroyEntry: (e) ->
thisid = @$(e.currentTarget).closest('div').parent().data('id')
@collection.get(thisid).destroy()
renderEntries: (entry) ->
view = new Movieseat.Views.Showmovie(collection: @collection)
$('#movie-container').html(view.render().el)
resizeMovieFrame: ->
equalheight = (container) ->
currentTallest = 0
currentRowStart = 0
rowDivs = new Array()
$el = undefined
topPosition = 0
$(container).each ->
$el = $(this)
$($el).height "auto"
topPostion = $el.position().top
unless currentRowStart is topPostion
currentDiv = 0
while currentDiv < rowDivs.length
rowDivs[currentDiv].height currentTallest
currentDiv++
rowDivs.length = 0 # empty the array
currentRowStart = topPostion
currentTallest = $el.height()
rowDivs.push $el
else
rowDivs.push $el
currentTallest = (if (currentTallest < $el.height()) then ($el.height()) else (currentTallest))
currentDiv = 0
while currentDiv < rowDivs.length
rowDivs[currentDiv].height currentTallest
currentDiv++
return
return
$(window).load ->
equalheight ".movie-frame"
return
$(window).resize ->
equalheight ".movie-frame"
return
console.log ('hello')
的resizeMovieFrame
事件重新調整所有.movie-frame
的div到相同的高度。