2014-11-07 3 views
0

Правильный синтаксис для определения $item:?Синтаксис для использования find() в элементах кеширования в литерале объекта

До сих пор у меня есть:

var Animations = { 

    el: { 
     $body:  $('html, body'), 
     $landing:  $('.landing'), 
     $item:  $landing.find($('.item')) 
    }, 

    init: function() { ..etc } 
} 

Я попытался с помощью this и Animations.el.//element// но не может прочитать свойство.

+0

внутри буквальным вы пока не можете использовать свойство, так что должна быть функция, которая может быть оценена и вернуть то, что вы хотите – Quince

ответ

1

Вы не можете обратиться к члену литерала объекта в виде литерала объекта (потому что его не полностью построена на том месте, где пытаются сделать это), здесь:

$item: $landing.find($('.item')) 

$landing не определено.

Присвоить $item в вашем методе init().

init: function() { 
    this.el.$item = this.el.$landing.find($('.item')); 
} 
+0

я выбираю это только потому, что он больше подходит для того, что им делать, и объясняется, почему ошибка. Благодарю. – lxm7

0
использование

Попробуйте это:

(...) 
$item: this.Animations.el.$landing.find($('.item')) 
(...) 
0

Запись его вне инициализации

var Animations = { 
    el: {} 
}; 

Animations.el.$body = $('html, body'); 
Animations.el.$landing = $('.landing'); 
Animations.el.$item = Animations.el.$landing.find($('.item')); 
Animations.init = function() { ..etc } 
Смежные вопросы