わかりました。divに適用すると、プリローダーイメージを使用してそのdiv内のすべてのイメージを適切にロードする単純なJQueryプラグインがあります。これは正常に機能します。
ただし、Backboneでは、ページが読み込まれた後、JSONから要素にデータを追加しています。したがって、以下のコードは機能しません。
$(document).ready( ->
$("#theList").preloader()
)
したがって、リストが生成された後、レンダリング関数に「$( "#theList")。preloader()」を配置する必要があります。
class HomeView extends Backbone.View
constructor: ->
super
initialize: ->
@isLoading = false
events: {
"click #nextPage": "nextPage"
"click #prevPage": "prevPage"
}
template: _.template($('#home').html())
theListTemplate: _.template($('#theList').html())
render: ->
$(@el).append(@template)
@loadResults()
$("#theList").preloader() #<----------------- DOESN'T WORK NOW
loadResults: () ->
@isLoading = true
Properties.fetch({
success: (data) =>
#Append properties to list
$('#theList').append(@theListTemplate({data: data.models, _:_})).listview('refresh')
error: ->
@isLoading = false
alert('Unable to load information')
})
ただし、コード行はバックボーンビュー/モデル/コントローラーなどの中にあり、機能しません。
参考までに、このようにアプリケーションをロードします。
$(document).ready( ->
console.log('document ready')
app.AppRouter = new AppRouter()
Backbone.history.start()
)
どんな助けでも大歓迎です!ありがとう。