2012-01-16 3 views
2

я хочу понять, что означает, что линия:JQuery Базовая структура

var oViewport = { obj: $('.viewport', root) }; 

это строка из плагина tinyscrollbar. Может кто-нибудь объяснить мне значения этой строки? Я действительно искал ответ, но не нашел его. Я ценю вашу помощь.

ответ

0

Переменная oViewport, определяемая как объект {obj: ...}; Значение obj ключа внутри этого объекта является селектором шипения .viewport в контексте переменной root (выбирает все элементы DOM с viewport классом внутри root переменными, которая, как правило, некоторые DOM-элемент тоже.

2

Это создает объект буквальный и присваивает это переменная с именем oViewport:

var oViewport = {}; //Empty object literal 

объект имеет одно свойство, названное obj, значение которого является объект JQuery:

var oViewport = { obj: $() }; //Property with jQuery object as value 

Объект jQuery находит все элементы с классом «viewport», которые являются потомками любого root. root контекст для селектора:

$(".viewport", root); //Select all .viewport elements within root 
0
1. $('.viewport', root) 
     => this finds all elements having class viewport with context as root. 

2. { obj: $('.viewport', root) }; 
     => creating a object literal with "obj" as property 
         and the elements objects found above as value. 

3. var oViewport = { obj: $('.viewport', root) }; 
      => assigning the created object literal to variable "oViewport". 
+1

Пожалуйста, обратите внимание аргументируя downvote .. –

1
var oViewport = { obj: $('.viewport', root) }; 

В этом коде объект создается с помощью object literal синтаксис (например, { key: value }) и назначенного к новой переменной oViewport.

Объект имеет один ключ или свойство, «obj», и его значение является результатом функции имени $ при вызове с аргументами '.viewport и root.

Поскольку это JQuery, $ является основным jQuery selector function, и в данном случае это выбор DOM элементов с классом CSS «видовом», но только те, которые являются потомками объекта root (так называемый «контекст», который, вероятно, является самим элементом DOM).

Код выше примерно аналогично ниже:

var selector   = '.viewport', 
    selectedElements = $(selector, root), 
    oViewport  = new Object() // equivalent to oViewport = {} 
; 

oViewport['obj'] = selectedElements; // equiv. to oViewport.obj = selectedElements;