Книга: JavaScript. Подробное руководство, 6-е издание

jQuery jQuery 1.4

jQuery jQuery 1.4

библиотека jQuery

Описание

Это краткий справочник по библиотеке jQuery. Более полное описание библиотеки и примеры ее использования приводятся в главе 19. Эта справочная статья организована несколько иначе, чем все остальные. При оформлении сигнатур методов здесь использовались следующие соглашения. Аргументы с именем sel являются селекторами библиотеки jQuery. Аргументы с именем idx являются целочисленными индексами. Аргументы с именем elt или elts являются элементами документа или объектами, подобными массивам, содержащими элементы документа. Аргументы с именем f являются функциями обратного вызова, а вложенные круглые скобки используются, чтобы показать аргументы, которые передаются библиотекой jQuery при вызове этой функции. Квадратные скобки указывают на необязательные аргументы. Если за именем необязательного аргумента следует знак «равно» и значение, это означает, что указанное значение используется по умолчанию, если аргумент был опущен. Вслед за закрывающей круглой скобкой и двоеточием следует значение, возвращаемое функцией или методом. Если возвращаемое значение не указано, это означает, что метод возвращает объект jQuery, относительно которого он был вызван.

Фабричная функция jQuery

Функция jQuery не только играет роль пространства имен для различных вспомогательных функций, но и является фабричной функцией для создания объектов jQuery. Функция jQuery() может вызываться во всех случаях, перечисленных ниже, но она всегда возвращает объект jQuery, представляющий коллекцию элементов документа (или сам объект Document). Имя $ является псевдонимом для имени jQuery, поэтому во всех формах вызова, представленных ниже, вместо jQuery() можно использовать $():

jQuery(sel [, context=document])

Возвращает новый объект jQuery, представляющий элементы документа, которые являются потомками для элемента context и соответствуют строке селектора sel.

jQuery(elts)

Возвращает новый объект jQuery, представляющий указанные элементы. Аргумент elts может быть единственным элементом документа, массивом или объектом, подобным массиву (таким как NodeList или другой объект jQuery), содержащим элементы документа.

jQuery(html, [props])

Выполняет синтаксический анализ строки html с разметкой HTML и возвращает новый объект jQuery, с одним или более элементами верхнего уровня, содержащимися в строке. Если аргумент html содержит единственный HTML-тег, в аргументе props можно передать объект, определяющий HTML-атрибуты и обработчики событий для вновь созданного элемента.

jQuery(f)

Регистрирует f как функцию, которая должна быть вызвана после того, как документ будет загружен и станет доступен для выполнения операций с ним. Если документ уже готов к выполнению операций, функция f будет вызвана немедленно, как метод объекта Document. Возвращает объект jQuery, содержащий только объект Document.

Грамматика селекторов jQuery

Грамматика селекторов jQuery очень похожа на грамматику селекторов CSS3 и подробно описывается в разделе 19.8.1. Далее следует описание грамматики в кратком изложении:

Простые селекторы по имени тега, класса и значению атрибута id

 *    tagname     .classname     #id

Комбинированные селекторы

А В      В - потомок А
А > В    В - дочерний по отношению к А
А + В    В - смежный, следующий за А
А ~ В    В - смежный по отношению к А

Фильтры атрибутов

[attr]      имеет атрибут
[attr=val]  имеет атрибут со значением val
[attr!=val] не имеет атрибута со значением val
[attr~=val] значение атрибута начинается с val
[attr$=val] значение атрибута заканчивается на val
[attr*=val] значение атрибута включает val
[attr“=val] значение атрибута включает val как слово
[attг|=val] значение атрибута начинается с val и необязательного дефиса

Фильтры по типам элементов

:button   :header :password :submit
:checkbox :image  :radio    :text
:file     :input  :reset

Фильтры no состоянию элементов

:animated :disabled :hidden   :visible
:checked  :enabled  :selected

Фильтры no позиции

:eq(n) :first :last  :nth(n)
:even  :gt(n) :lt(n) :odd

Фильтры no позиции в документе

:first-child    :nth-child(n)
:last-child     :nth-child(even)
:only-child     :nth-child(odd)
:nth-child(xn+y)

Прочие фильтры

:contains(text) :not(selector)
:empty          :parent
:has(selector)

Базовые свойства и методы объекта jQuery

Ниже перечислены базовые свойства и методы объектов jQuery. Они не влияют на выбор или на выбранные элементы, но позволяют обращаться к выбранным элементам и выполнять итерации по ним. Дополнительные сведения приводятся в разделе 19.1.2.

context

Контекст, или корневой элемент, в котором будет производиться выбор. Это второй аргумент функции $() или объект Document.
each(f(idx,elt))

Вызывает f как метод для каждого выбранного элемента. Останавливает итерации, как только функция вернет false. Возвращает объект jQuery, относительно которого был вызван данный метод.

get(icfx):elt
get():array

Возвращает выбранный элемент с указанным индексом в объекте jQuery. Можно также использовать обычный синтаксис индексирования массивов с квадратными скобками. При вызове без аргументов get() действует так же, как toArray().

index():int
index(sel):int
index(elt):int

При вызове без аргументов возвращает индекс первого выбранного элемента среди смежных с ним элементов. При вызове с селектором возвращает первый элемент из множества выбранных элементов, соответствующий селектору sel, или -1, если такой элемент отсутствует. При вызове с элементом возвращает индекс элемента elt в множестве выбранных элементов или -1, если указанный элемент не входит в множество выбранных элементов.

is(sel): boolean

Возвращает true, если селектору sel соответствует хотя бы один выбранный элемент.

length

Количество выбранных элементов.

map(f(idx,elt)): jQuery

Вызывает f как метод для каждого выбранного элемента и возвращает новый объект jQuery, хранящий возвращаемые значения, при этом возвращаемые значения null и undefined не помещаются в массив значений.

selector

Оригинальная строка селектора, переданная функции $().

size():int

Возвращает значение свойства length.

toArray():array

Возвращает истинный массив выбранных элементов.

Методы выбора jQuery

Методы, описываемые в этом разделе, изменяют множество выбранных элементов, выполняя фильтрацию, добавляя новые элементы или используя выбранные элементы как начальные точки для нового выбора. В jQuery версии 1.4 и выше выбранные элементы в объекте jQuery всегда отсортированы в порядке их следования в документе, а сами множества не содержат дубликатов. Дополнительные сведения приводятся в разделе 19.8.2.

add(sel, [context])
add(elts) a66(html)

Аргументы метода add() передаются функции $(), а результаты выбора добавляются в текущее множество выбранных элементов.

andSelf()

Добавляет в текущий выбор множество ранее выбранных элементов (со стека).

children([sel])

Выбирает элементы, являющиеся дочерними, по отношению к выбранным элементам. При вызове без аргументов выбирает все дочерние элементы. При вызове с селектором выбирает только соответствующие ему дочерние элементы.

closest(sel, [context])

Выбирает ближайшего предка каждого выбранного элемента, соответствующего селектору sel, являющегося потомком по отношению к элементу context. Если аргумент context опущен, используется свойство context объекта jQuery.

contents()

Выбирает все дочерние элементы во всех выбранных элементах, включая текстовые узлы и комментарии.

end()

Выталкивает с внутреннего стека и восстанавливает состояние выбора, предшествовавшее последнему вызову метода, изменяющего выбор.

eq(idx)

Выбирает только выбранный элемент с указанным индексом. В jQuery версии 1.4 отрицательные значения отсчитываются с конца множества.

filter(sel)
filter(elts)
filter(f(idx):boolean)

Фильтрует множество выбранных элементов так, что в результат включаются только элементы, которые соответствуют селектору sel, или содержатся в объекте elts, подобном массиву, или для которых функция-предикат f вернет true, когда она будет вызвана как метод элемента.

find(sel)

Выбирает всех потомков выбранных элементов, которые соответствуют селектору sel.

first()

Выбирает только первый выбранный элемент.

has(sel)
has(elt)

Фильтрует выбранные элементы, включая в результат только элементы, которые имеют потомков, соответствующих селектору sel или являющихся предками элемента elt.

last()

Выбирает только последний выбранный элемент.

next([sel])

Выбирает следующий смежный элемент для каждого выбранного элемента. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору.

nextAll([sel])

Выбирает все смежные элементы, следующие за каждым выбранным элементом. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору.

nextUntil(sel)

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

not(sel)
not(elts)
not(f(idx): boolean)

Противоположный методу filter(). Фильтрует выбранное множество, исключая элементы, которые соответствуют селектору sel, или включены в состав elts, или для которых f вернет true. Аргумент elts может быть единственным элементом или объектом, подобным массиву, содержащим элементы. Функция f вызывается как метод для каждого выбранного элемента.

offsetParent()

Выбирает ближайшего позиционируемого предка для каждого выбранного элемента.

parent([sel])

Выбирает родителя для каждого выбранного элемента. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору.

parents([sel])

Выбирает предков для каждого выбранного элемента. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору.

parentsUntil(sel)

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

prev([sel])

Выбирает предшествующий смежный элемент для каждого выбранного элемента. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору.

prevAll([sel])

Выбирает все смежные элементы, предшествующие каждому выбранному элементу. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору.

prevUntil(sel)

Выбирает смежные элементы, предшествующие каждому выбранному элементу, до (но не включая его) первого смежного элемента, соответствующего селектору sel.

pushStack(elts)

Помещает текущее состояние выбора на стек, после чего оно может быть восстановлено вызовом метода end() и затем выбирает элементы в массиве (или объекте, подобном массиву) elts.

siblings([sel])

Выбирает смежные элементы для каждого выбранного элемента, исключая сам элемент. Если указан аргумент sel, исключает из результата элементы, не соответствующие селектору sel.

slice(startidx, [endidx])

Фильтрует выбор, оставляя только элементы, индексы которых больше или равны startidx и меньше (но не равны) endidx. Отрицательные индексы отсчитываются от конца множества выбранных элементов. Если аргумент endidx не указан, используется значение свойства length.

Методы jQuery для работы с элементами

Методы, описываемые здесь, предназначены для чтения и записи значений HTML-атрибутов и свойств CSS-стилей элементов. Функции обратного вызова в аргументе current передается текущее значение атрибута или свойства, для которого вычисляется новое значение. Дополнительные сведения приводятся в разделе 19.2.

addClass(names)
addClass( f(idx, current): names)

Добавляет указанное имя или имена CSS-классов в атрибут class каждого выбранного элемента. Или вызывает f как метод для каждого элемента для вычисления имени или имен классов, добавляемых в атрибут.

attr(name):value
attr(name, value)
attr(name, f(idx,current):value)
attr(obj)

При вызове с единственным строковым аргументом возвращает значение указанного атрибута первого выбранного элемента. При вызове с двумя аргументами устанавливает указанный атрибут во всех выбранных элементах в значение value или вызывает f как метод для каждого элемента для вычисления значения атрибута. При вызове с единственным аргументом-объектом использует имена его свойств, как имена атрибутов, а значения свойств - как значения атрибутов или как функции вычисления значений атрибутов.

css(name):value
css (name, value)
css (name, f(idx, current): value)
css (obj)

Действует подобно методу attr(), но возвращает или устанавливает не HTML-атрибуты, а атрибуты CSS-стиля.

data():obj
data(key): value
data(key, value)
data(obj)

При вызове без аргументов возвращает объект с данными для первого выбранного элемента. При вызове с одним строковым аргументом возвращает значение указанного свойства объекта с данными. При вызове с двумя аргументами устанавливает указанное свойство в объекте данных для всех выбранных элементов в значение value. При вызове с одним аргументом-объектом замещает им объекты с данными во всех выбранных элементах.

hasClass(name): boolean

Возвращает true, если какой-либо из выбранных элементов содержит имя класса name в своем атрибуте class.

height(): int
height(h)
height(f(idx, current): int)

Возвращает высоту (не включая отступы, рамку и поля) первого выбранного элемента, или устанавливает высоту всех выбранных элементов равной h или значению, вычисленному функцией f, которая вызывается как метод для каждого элемента.

innerHeight(): int

Возвращает высоту плюс отступы для первого выбранного элемента.

innerWidth():int

Возвращает ширину плюс отступы для первого выбранного элемента.

offset():coords
offset(coords)
offset (f(idx, current): coords)

Возвращает координаты X и Y (относительно начала документа) первого выбранного элемента или перемещает все выбранные элементы в позицию с координатами coords или в позицию, вычисляемую функцией f, которая вызывается как метод для каждого выбранного элемента. Координаты определяются в виде объекта со свойствами top и left.

offsetParent(): jQuery

Выбирает ближайшего позиционируемого предка для каждого выбранного элемента и возвращает результат в виде нового объекта jQuery.

outerHeight([/7?ar0jns=false]):int

Возвращает высоту плюс отступы и рамку, а также поля, если аргумент margins имеет значение true, первого выбранного элемента.

outerWidth(margins=false]):int

Возвращает ширину плюс отступы и рамку, а также поля, если аргумент margins имеет значение true, первого выбранного элемента.

position():coords

Возвращает позицию первого выбранного элемента относительно ближайшего позиционируемого предка. Возвращает объект со свойствами top и left.

removeAttr(name)

Удаляет указанный атрибут из всех выбранных элементов.

removeClass(names)
removeClass(f(idx, current): names)

Удаляет указанное имя или имена классов из атрибута class всех выбранных элементов. Если в аргументе вместо строки передана функция, она будет вызвана как метод для каждого выбранного элемента, чтобы вычислить имя или имена удаляемых классов.

removeData([key])

Удаляет указанное свойство из объекта с данными в каждом выбраном элементе. Если имя свойства не указано, удаляется весь объект с данным целиком.

scrollLeft(): int
scrollLeft(int)

Возвращает позицию горизонтальной полосы прокрутки для первого выбранного элемента или устанавливает ее для всех выбранных элементов.

scrollTop():int
scroHTop(int)

Возвращает позицию вертикальной полосы прокрутки для первого выбранного элемента или устанавливает ее для всех выбранных элементов.

toggleClass(names, [add])
toggleClass(f(idx, current): names, [add])

Переключает класс с указанным именем или именами в свойстве class каждого выбранного элемента. Если указана функция f, она будет вызвана как метод для каждого выбранного элемента для вычисления имени или имен переключаемых классов. Если аргумент add имеет значение true или false, добавит или удалит имена классов вместо их переключения.

val():value val(value)
val(f(idx, current)) :value

Возвращает значение или состояние выбора первого выбранного элемента формы либо устанавливает значение или состояние выбора всех выбранных элементов равным значению аргумента value или значению, вычисленному функцией f, которая вызывается как метод для каждого элемента.

width():int
width(w)
width(f(idx, current) :int)

Возвращает ширину (не включая отступы, рамку и поля) первого выбранного элемента либо устанавливает ширину всех выбранных элементов равной w или значению, вычисленному функцией f, которая вызывается как метод для каждого элемента.

Методы jQuery вставки и удаления

Методы, описываемые здесь, вставляют, удаляют или замещают содержимое документа. В сигнатурах методов, приведенных ниже, аргумент content может быть объектом jQuery, строкой с разметкой HTML или отдельным элементом документа, а аргумент target может быть объектом jQuery, отдельным элементом документа или строкой селектора. Дополнительные сведения приводятся в разделах 19.2.5 и 19.3.

after(content)
after (f(idx):content)

Вставляет содержимое content после каждого выбранного элемента или вызывает f как метод и вставляет возвращаемое значение после каждого выбранного элемента.

append(content)
арpend (f(idx, html):соntent)

Добавляет содержимое content в конец каждого выбранного элемента или вызывает f как метод и добавляет возвращаемое значение в конец каждого выбранного элемента.

appendTo(target):jQuery

Добавляет выбранные элементы в конец каждого элемента, определяемого аргументом target, копируя их, если аргумент target определяет более одного элемента.

before(content)
before(f(idx):content)

Действует подобно методу after(), но вставляет содержимое content перед выбранными элементами, а не после.

clone([data=false]):jQuery

Создает полную копию каждого выбранного элемента и возвращает новый объект jQuery, представляющий множество копий элементов. Если аргумент data имеет значение true, также копирует данные (включая обработчики событий), связанные с выбранными элементами.

detach([sel])

Действует подобно методу remove(), но не удаляет данные, связанные с отсоединенными элементами.

empty()

Удаляет содержимое выбранных элементов.

html():string
html(htmlText)
html(f(idx, current) :htmlText)

При вызове без аргументов возвращает содержимое первого выбранного элемента в виде строки с разметкой HTML. При вызове с одним аргументом устанавливает содержимое всех выбранных элементов равным строке htmlText или значению, возвращаемому функцией f, которая вызывается как метод этих элементов.

insertAfter(tarpet):jQuery

Вставляет выбранные элементы после каждого элемента, определяемого аргументом target, копируя их, если аргумент target определяет более одного элемента.

insertBefore(target): jQuery

Вставляет выбранные элементы перед каждым элементом, определяемым аргументом target, копируя их, если аргумент target определяет более одного элемента.

prepend(content)
prepend(f(idx,html) :content)

Действует подобно методу append(), но вставляет содержимое content в начало каждого выбранного элемента, а не в конец.

prependTo(target):jQuery

Действует подобно методу appendTo(), но вставляет выбранные элементы в начало элементов, определяемых аргументом target, а не в конец.

remove ([sel])

Удаляет все выбранные элементы или все выбранные элементы, соответствующие селектору sel, из документа, удаляя также все данные, связанные с ними (включая обработчики событий). Обратите внимание, что удаленные элементы исключаются из состава документа, но по-прежнему остаются членами возвращаемого объекта jQuery.

replaceAll(target)

Вставляет выбранные элементы в документ так, что они замещают каждый элемент, определяемый аргументом target, копируя выбранные элементы, если аргумент target определяет более одного элемента.

replaceWith(content)
replaceWith(f(idx,html):content)

Замещает каждый выбранный элемент содержимым content или вызывает функцию f как метод для каждого выбранного элемента, передавая ей индекс элемента и текущее содержимое в виде разметки HTML, и замещает данный элемент возвращаемым значением.

text():string
text (plaintext)
text (f(idx, current): plainText)

При вызове без аргументов возвращает содержимое первого выбранного элемента в виде строки с простым текстом. При вызове с одним аргументом устанавливает содержимое всех выбранных элементов равным строке plainText или значению, возвращаемому функцией f, которая вызывается как метод этих элементов.

unwrap()

Удаляет родителя каждого выбранного элемента, замещая его выбранным элементом и смежными с ним элементами.

wrap (wrapper)
wrap(f(idx):wrapper)

Обертывает каждый выбранный элемент, копируя обертку, если выбранных элементов более одного. Если методу передана функция, она будет вызвана как метод для каждого выбранного элемента, чтобы вычислить обертку. Аргумент wrapper может быть элементом, объектом jQuery, селектором или строкой с разметкой HTML, но он должен определять единственный элемент-обертку.

wrapAll(wrapper)

Обертывает все выбранные элементы как группу, вставляя обертку wrapper в позицию первого выбранного элемента и затем копируя все выбранные элементы в элемент-обертку wrapper.

wraplnner(wrapper)
wraplnner(f(idx):wrapper)

Действует подобно методу wrap(), но обертывает элементом wrapper (или возвращаемым значением функции f) содержимое каждого выбранного элемента, а не сами элементы.

Методы jQuery для работы с событиями

Методы в этом разделе используются для регистрации обработчиков событий и для возбуждения событий. Дополнительные сведения приводятся в разделе 19.4.

event-type()
event-type(f(event))

Регистрирует f как обработчик события типа event-type или генерирует событие event-type. Библиотека jQuery определяет следующие методы, которые действуют согласно этому шаблону:


bind(type, [data], f(event))
bind(events)

Регистрирует f как обработчик событий типа type в каждом выбранном элементе. Если указан аргумент data, он будет добавлен в объект события перед вызовом f. Аргумент type может определять несколько типов событий и может включать пространства имен.

Если методу передан единственный объект, он интерпретирует его как отображение типов событий в функции-обработчики и регистрирует обработчики для всех указанных типов событий в каждом выбранном элементе.

delegate(sel, type, [data], f(event))

Регистрирует f как динамический обработчик события. Функция f будет вызываться для обработки событий типа type, возникающих в элементах, которые определяются селектором sel и всплывших до любого из выбранных элементов. Если указан аргумент data, он будет добавлен в объект события перед вызовом f.

die(type, [f(event)])

Отключает динамические обработчики, зарегистрированные методом live(), событий типа type из элементов, соответствующих селектору, использовавшемуся для создания текущего множества выбранных элементов. Если указана конкретная функция-обработчик f, отключает только ее.

hover(f(event))
hover (enter (event), leave(event))

Регистрирует обработчики событий «mouseenter» и «mouseleave» во всех выбранных элементах. Если указана только одна функция, она будет использована как обработчик обоих событий.

live(type, [data], f(event))

Регистрирует f как динамический обработчик события типа type. Если указан аргумент data, он будет добавлен в объект события перед вызовом f. Этот метод не используется для установки обработчиков в выбранные элементы, но он использует строку селектора и контекст данного объекта jQuery. Функция f будет вызываться, когда события типа type будут всплывать до объекта контекста (обычно объект Document), если целевые элементы события будут соответствовать селектору. См. также delegate().

one(type, [data], f(event))
one(events)

Действует подобно методу bind(), но зарегистрированные обработчики событий автоматически отключаются после однократного вызова.

ready(f())

Регистрирует функцию f, которая должна быть вызвана, когда документ будет готов к выполнению операций над ним, или вызывает ее немедленно, если документ уже готов. Этот метод не использует выбранные элементы и является синонимом для $(f).

toggle(f1(event), f2(event),...)

Регистрирует обработчик события «click» во всех выбранных элементах, который циклически переключается между указанными функциями-обработчиками.

trigger(type, [params])
trigger(event)

Генерирует событие type во всех выбранных элементах, передавая params обработчикам событий в виде дополнительных параметров. Аргумент params можно опустить или передать в нем единственное значение или массив значений. Если передать методу объект события event, его свойство type будет определять тип события, а все остальные свойства будут скопированы в объект события, который будет передан обработчикам.

triggerHandler(type, [params])

Действует подобно методу trigger(), но не позволяет всплывать сгенерированному событию или вызывать действия, предусмотренные броузером по умолчанию.

unbind([type],[f(event)])

При вызове без аргументов отключает все обработчики событий, зарегистрированные средствами библиотеки jQuery во всех выбранных элементах. При вызове с одним аргументом отключает все обработчики событий типа type во всех выбранных элементах. При вызове с двумя аргументами отключает функцию f, зарегистрированную как обработчик событий type во всех выбранных элементах. Аргумент type может представлять несколько типов событий и может включать пространства имен.

undelegate()
undelegate(sel, type, [f(event)])

При вызове без аргументов отключает все динамические обработчики событий во всех выбранных элементах. При вызове с двумя аргументами отключает динамические обработчики событий типа type в элементах, соответствующих селектору sel, которые возникают в выбранных элементах. При вызове с тремя аргументами отключает только обработчик f.

Методы jQuery воспроизведения визуальных и анимационных эффектов

Методы, описываемые ниже, воспроизводят визуальные и нестандартные анимационные эффекты. Большинство из них возвращают тот же объект jQuery, относительно которого они вызывались. Дополнительные сведения приводятся в разделе 19.5.

Параметры анимационных эффектов

complete duration easing queue specialEasing step
jQuery.fx.off

Установите это свойство в значение true, чтобы запретить все визуальные и анимационные эффекты.

animate(props, opts)

Воспроизводит эффект, манипулируя CSS-свойствами, определяемыми объектом props, в каждом выбранном элементе, используя параметры, определяемые объектом opts. Дополнительные сведения об обоих объектах приводятся в разделе 19.5.2.

animate(props, [duration], [easing], [f()])

Воспроизводит эффект, манипулируя CSS-свойствами, определяемыми объектом props, в каждом выбранном элементе, используя указанную продолжительность duration и функцию перехода easing. По завершении вызывает f как метод для каждого выбранного элемента.

clearQueue([qname="fx"])

Очищает очередь эффектов по умолчанию или указанную очередь для каждого выбранного элемента.

delay(duration, [qname="fx"])

Добавляет задержку с указанной продолжительностью duration в очередь эффектов по умолчанию или в указанную очередь.

dequeue([qname="fx"])

Удаляет и вызывает следующую функцию из очереди эффектов по умолчанию или из указанной очереди. Обычно нет необходимости вручную удалять функции из очереди эффектов.

fadeIn([duration=400],[f()])
fade0ut([duration=400],[f()])

Воспроизводит в течение duration миллисекунд эффект проявления или растворения элемента, манипулируя его прозрачностью. По завершении вызывает функцию f, если указана, как метод для каждого выбранного элемента.

fadeTo(duration, opacity, [f()])

Изменяет CSS-свойство opacity в выбранных элементах до значения opacity в течение указанной продолжительности duration. По завершении вызывает функцию f, если указана, как метод для каждого выбранного элемента.

hide()
hide(duration, [f()])

При вызове без аргументов немедленно скрывает выбранные элементы. Иначе воспроизводит эффект, уменьшая размеры и непрозрачность всех выбранных элементов так, что они полностью исчезают через duration миллисекунд. По завершении вызывает функцию t, если указана, как метод для каждого выбранного элемента.

slideDown([duration=400].[f()])
slideUp([duration=400],[f()])
slideToggle([duration=400],[f()])

Отображает, скрывает или переключает состояние видимости каждого выбранного элемента, изменяя высоту в течение указанной продолжительности duration. По завершении вызывает функцию f, если указана, как метод для каждого выбранного элемента.

show()
show (duration, [f()])

При вызове без аргументов немедленно отображает выбранные элементы. Иначе воспроизводит эффект, увеличивая размеры и непрозрачность всех выбранных элементов так, что они становятся полностью видимыми через duration миллисекунд. По завершении вызывает функцию f, если указана, как метод для каждого выбранного элемента.

stop([clear= false], [jump= false])

Останавливает воспроизведение текущего анимационного эффекта (если таковой имеется) во всех выбранных элементах. Если аргумент clear имеет значение true, также очищает очередь эффектов для каждого элемента. Если аргумент jump имеет значение true, перед остановкой присваивает элементам конечные значения, которые должны быть достигнуты в ходе воспроизведения эффекта.

toggle([shcw]) toggle (duration, [f()])

Если аргумент show имеет значение true, вызывает метод show() для немедленного, отображения выбранных элементов. Если аргумент show имеет значение false, вызывает метод show() для немедленного скрытия выбранных элементов. Если аргумент show опущен, переключает состояние видимости элементов.

Если указан аргумент duration, переключает состояние видимости выбранных элементов, манипулируя размером и прозрачностью в течение duration миллисекунд. По завершении вызывает функцию f, если указана, как метод для каждого выбранного элемента.

queue([qname="fx"]):array
queue([qname="fx"], f(next))
queue([qna/7?e="fx"], newq)

При вызове без аргументов или только с именем очереди возвращает указанную очередь для первого выбранного элемента. При вызове с аргументом-функцией добавляет f в указанную очередь для всех выбранных элементов. При вызове с аргументом-массивом замещает указанную очередь для всех выбранных элементов массивом функций newq.

Функции jQuery поддержки архитектуры Ajax

Большая часть функциональности библиотеки jQuery, имеющей отношение к поддержке архитектуры Ajax, реализована в виде вспомогательных функций, а не методов. Они являются одними из наиболее сложных функций в библиотеке jQuery. Дополнительные сведения приводятся в разделе 19.6.

Коды состояния Ajax

success error notmodified timeout parsererror

Типы данных Ajax

text html xml script json jsonp

События Ajax

ajaxStart ajaxSend ajaxSuccess ajaxError ajaxComplete ajaxStop

Параметры Ajax


jQuery.ajax(options):XMLHttpRequest

Сложная, но самая универсальная функция поддержки архитектуры Ajax, на которой основаны все Ajax-утилиты в библиотеке jQuery. Она принимает единственный объект в виде аргумента, свойства которого определяют все тонкости, касающиеся отправки запроса и обработки ответа сервера. Наиболее типичные параметры описываются в разделе 19.6.3.1, а параметры функций обратного вызова - в 19.6.3.2.

jQuery.ajaxSetup (options)

Устанавливает указанные параметры как значения по умолчанию. Принимает тот же объект options, какой передается функции jQuery.ajax.Указанные вами значения будут использоваться всеми последующими запросами, при оформлении которых не будут явно указаны другие значения параметров. Эта функция не имеет возвращаемого значения.

jQuery.getJS0N(url, [data], [f (object, status)]) :XMLHttpRequest

Отправляет асинхронный запрос по адресу url, добавляя любые данные data. Выполняет синтаксический анализ полученного ответа как строки в формате JSON и передает получившийся объект функции обратного вызова f. Возвращает объект XMLHttpRequest, если таковой имеется, использовавшийся для выполнения запроса.

jQuery.getScript(url, [f(text,status)]):XMLHttpRequest

Отправляет асинхронный запрос по адресу url. При получении ответа выполняет его как сценарий, а затем передает текст ответа функции f. Возвращает объект XMLHttpRequest, если таковой имеется, использовавшийся для выполнения запроса. Позволяет выполнять междоменные запросы, но в этом случае не передает текст сценария функции f и не возвращает объект XMLHttpRequest.

jQuery.get(url, [data], [f(data,status,xhr)], [type]):XMLHttpRequest

Отправляет асинхронный HTTP GET-запрос по адресу url, добавляя данные data, если указаны, в строку параметров запроса данного URL-адреса. При получении ответа интерпретирует его как данные типа type или в соответствии со значением заголовка Content-Type ответа и выполняет его или выполняет синтаксический анализ, если это необходимо. В заключение передает (возможно, в разобранном виде) данные ответа функции обратного вызова f вместе с кодом состояния и объектом XMLHttpRequest, использовавшимся для выполнения запроса. Этот объект XMLHttpRequest, если имеется, также является возвращаемым значением функции jQuery.get().

jQuery.post (url, [data], [f(data,status,xhr)], [type]) :XMLHttpRequest

Действует подобно функции jQuery.get(), но выполняет не GET-запрос, a HTTP POST-запрос.

jQuery.param(o, [old=false]):string

Сериализует имена и значения свойств объекта о в формат «www-form-urlencoded», пригодный для добавления в URL-адрес или для передачи в теле HTTP POST-запроса. Большинство функций поддержки Ajax в библиотеке jQuery делают это автоматически, если получают объект в параметре data. Если требуется выполнить поверхностную сериализацию объекта в стиле версии jQuery 1.3, во втором аргументе следует передать значение true.

jQuery. parseJSON(text):object

Выполняет синтаксический разбор текста в формате JSON и возвращает полученный объект. Функции поддержки архитектуры Ajax в библиотеке jQuery используют эту функцию при запросе данных в формате JSON.

load(url, [data], [f(text, status, xhr)])

Отправляет асинхронный запрос по адресу url, добавляя любые данные data. При получении ответа интерпретирует его как строку с разметкой HTML и вставляет ее в каждый выбранный элемент, замещая любое имеющееся содержимое. В заключение вызывает f как метод для каждого выбранного элемента, передавая функции f текст ответа, код состояния и объект XMLHttpRequest, использовавшийся для выполнения запроса.

Если значение url включает пробел, любой текст после пробела используется как селектор и в выбранные элементы вставляется только часть документа в ответе, которая соответствует селектору.

В отличие от большинства функций поддержки архитектуры Ajax в библиотеке jQuery, load() является методом, а не функцией. Подобно большинству методов объекта jQuery, возвращает объект jQuery, относительно которого этот метод был вызван.

serialize():string

Сериализует имена и значения выбранных форм или элементов форм и возвращает строку в формате «www-form-urlencoded».

Вспомогательные функции в библиотеке jQuery

Ниже перечислены различные функции и свойства (не методы), имеющиеся в библиотеке jQuery. Дополнительные сведения приводятся в разделе 19.7.

jQuery.boxModel

Устаревший синоним для jQuery.support.boxModel.

jQuery.browser

Это свойство ссылается на объект, идентифицирующий производителя и версию броузера. Объект имеет свойство msie в броузере Internet Explorer, mozilla - в Firefox, webkit - в Safari и Chrome, и opera - в Opera. Свойство version содержит номер версии броузера.

jQuery. contains(a,b): boolean

Возвращает true, если элемент а содержит элемент Ь.

jQuery. data(eJt):data
jQuery.data(elt, key):value
jQuery.data(elt, data)
jQuery.data(elt, key, value)

Низкоуровневая версия метода data(). При вызове с единственным элементом elt возвращает объект с данными для этого элемента. При вызове с элементом elt и строкой key возвращает значение с указанным именем из объекта с данными для этого элемента. При вызове с элементом elt и объектом data устанавливает указанный объект как объект с данными для элемента elt. При вызове с элементом elt,строкой key и значением value устанавливает значение с указанным именем в объекте с данными для указанного элемента.

jQuery.dequeue(elt, [qname="fx")

Удаляет и вызывает первую функцию из указанной очереди. То же, что и $(elt).dequeue(qname).

jQuery.each(o, f(name,value)):о
jQuery.each(a, f(index,value)):a

Вызывает функцию f для каждого свойства объекта о, передавая ей имя name и значение value свойства, при этом функция f вызывается как метод значения value. Если первый аргумент является массивом или объектом, подобным массиву, вызывает f как метод для каждого элемента массива, передавая ей в виде аргументов индекс index в массиве и значение value элемента. Итерации останавливаются, как только f вернет false. Эта функция возвращает первый аргумент.

jQuery.error(msg)

Возбуждает исключение с сообщением msg. Эту функцию можно вызывать из расширений или переопределить ее для нужд отладки (например, jQuery.error = alert).

jQuery. extend(obj):object
jQuery.extend([deep=false], target, obj...):object

При вызове с одним аргументом копирует свойства объекта obj в глобальное пространство имен библиотеки jQuery. При вызове с двумя и более аргументами копирует свойства второго и всех последующих объектов, в указанном порядке, в объект target. Если необязательный аргумент deep имеет значение true, выполняется глубокое копирование и свойства копируются рекурсивно. Возвращает объект, который был дополнен новыми свойствами.

jQuery.globalEval(code):void

Выполняет программный код code на языке JavaScript как сценарий верхнего уровня в теге <script>. Ничего не возвращает.

jQuery.grep(a, f(elt,idx):boolean, [invert=false]):array

Возвращает новый массив, содержащий только элементы, для которых f вернет true. Или, если аргумент invert имеет значение true, возвращает только элементы, для которых f вернет false.

jQuery.inArray(v, a):integer

Выполняет поиск элемента v в массиве а или в объекте, подобном массиву, и возвращает индекс найденного элемента или -1.

jQuery.isArray(x): boolean

Возвращает true, только если х является истинным массивом.

jQuery.isEmptyObject(x): boolean

Возвращает true, только если х не содержит перечислимых свойств.

jQuery.isFunction(x):boolean

Возвращает true, только если х является функцией.

jQuery.isPlainObject(x):boolean

Возвращает true, только если х является простым объектом, например, созданным с помощью литерала объекта.

jQuery.isXMLDoc(x):true

Возвращает true, только если х является XML-документом или элементом XML-доку мента.

jQuery.makeArray(a):array

Возвращает новый массив, содержащий те же элементы, что и объект а, подобный массиву.

jQuery.map(a, f(elt, icfx)):array

Возвращает новый массив, содержащий значения, возвращаемые функцией f для каждого элемента в массиве а (или в объекте, подобном массиву). Значения null, возвращаемые функцией f, игнорируются и не включаются в результирующий массив.

jQuery.merge(a,b):array

Добавляет элементы массива b в конец массива а и возвращает а. Аргументы могут быть объектами, подобными массивам, или истинными массивами.

jQuery.noConflict([racfical=false])

Восстанавливает значение символа $ в значение, которое он имел перед загрузкой библиотеки jQuery, и возвращает jQuery. Если аргумент radical имеет значение true, также восстанавливает значение символа jQuery.

jQuery.proxy(f, o):function
jQuery.proxy(o, name):function

Возвращает функцию, которая вызывает f как метод объекта о, или функцию, которая вызывает o[name] как метод объекта о.

jQuery.queue(eJf, [qname="fx"], [f])

Возвращает или создает очередь с указанным именем в элементе elt или добавляет новую функцию f в эту очередь. То же, что и $(elt).queue(qname, f).

jQuery.removeData(elt, [namе]):void

Удаляет указанное свойство из объекта с данными в элементе elt или удаляет сам объект с данными.

jQuery.support

Объект, содержащий множество свойств, описывающих особенности и ошибки, имеющиеся в текущем броузере. В основном представляет интерес для создателей расширений. В броузерах IE свойство jQuery.support.boxModel имеет значение false при выполнении сценария в режиме совместимости.

jQuery.trim(s):string

Возвращает копию строки s, из которой удалены начальные и завершающие пробельные символы.

Оглавление книги


Генерация: 0.258. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз