Логотип Валидатор Валидатор Качество создания сайта

МЕТОДЫ в jQuery


Что такое "методы"?

Выполнив jQuery-выборку нужных элементов, можно приступать к действиям над ними, т.е. прописывать им различные методы.

Методы - означает: присвоить действия отобранным в jQuery-набор элементам.

В результате этого элементы начинают что-то делать: исчезать, появляться, выделяться, подсвечиваться, моргать и т.д., и т.п..

Каждый метод что-то делает!

Любой метод либо сам что-то возвращает, либо получает параметр и выполняет, что указано в параметре.
Короче, после пристыковки кода методов к выборке, становится заметным существование jQuery на странице сайта.

Не забывать! Подключать jQuery к каждой странице!

Далее привожу список изученных самых основных(!) методов. Вообще их, конечно, побольше будет, но до сих пор вполне хватало этих. (Почему? Смотреть в конце страницы.)

О списке методов

Заголовки в списке - это №/№ уроков на диске, относящихся к отмеченному методу, или группе методов.


Методы

Действия над отобранными элементами.

Урок 67

.text('Текст'); - меняет текст только(!); покажет, что прописано в скобках.
HTML-тэги НЕ использовать!

.hide(3000); - элемент спрячет за 3 секунды

.show(3000); - элемент покажет за 3 секунды

С пустыми параметрами (...) просто спрячет или покажет.


Урок 68. Цепные функции

Пример:
var myLogo = $('#logo'); - лучше сначала создать глобальную переменную myLogo.hide(3000).show(3000); - отобранное спрячет, потом опять покажет.

Длина цепочки НЕ ОГРАНИЧЕНА(!).


Урок 69. Автоматические циклы

Пример:
$('#div_for_img img:not(#img_1)').hide(3000); - спрячет все рисунки, кроме 1-ого.

Ни в какую переменную var выражение уже брать не обязательно (хотя можно и взять).


Урок 70

.width(500); - узнать/изменить значение ширины

.height(180); - узнать/изменить значение длины

С пустыми параметрами (...) просто получим значения. Их можно узнать через alert.


Урок 71

Данная функция специально создана для работы с HTML!

.html('<p>...</p>'); - получить/изменить HTML-код; можно использовать ЛЮБЫЕ(!) тэги. Обязательно! Код в одну строчку и в кавычках!


Урок 72

.fadeOut(5000); - элемент растает за 5 секунд

.fadeIn(5000); - элемент появится за 5 секунд


Урок 73

.fadeTo(5000, 0.5); - как растаять: за какое время(?), до какой степени(?) (0 - 1)

Пример:
$('img').fadeTo(5000, 0.1).fadeTo(5000, 1); - рисунки побледнеют за 5 секунд и снова станут яркими через 5секунд.


Урок 74

.slideUp(5000); - очень аккуратно исчезнет "вверх", как бы "съёживаясь"

.slideDown(5000); - очень аккуратно исчезнет "вниз", как бы "разложится"

У этих методов 2-ого параметра нет. Пробовал!


Урок 75. Методы работы с атрибутами

.attr('width'); - узнаем значение ширины элемента

.attr('width', '700'); - установим элементу новое значение ширина 700px

.removeAttr('title'); - удалим атрибут title


Урок 76. Методы работающие с таблицей CSS

Для их использования, сначала создать класс в таблице стилей CSS. Любой, к примеру .new

.addClass('new'); - класс добавит

.removeClass('new'); - класс удалит

Имя класса .new прописывается в параметрах уже БЕЗ(!) точки .


Урок 77. Функция CSS

Данная функция специально создана для работы с CSS!

.css('font-size'); - узнаем значение свойства font-size. НО! Учесть особенности!

Для получения(!): сокращений jQuery НЕ ПОНИМАЕТ! Нужно указывать полное написание свойства: к примеру, НЕ 'font', а 'font-size', и т.д..

И ещё! Цвет jQuery вернёт в rgb(44,25,50), а не привычной "решёткой" #

НО(!) - это всё для получения!   ПЕРЕДАВАТЬ(!) - можно, как обычно.


Изменение свойств и значений

Чтобы изменить, нужно передать 2 параметра: "свойство", "значение" через запятую ,

.css('color', '#3F40CC'); - изменит цвет на указанный во втором параметре

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

.css('color', '#3F40CC').css('margin', '10px').css('border', '2px'); - цепочечный метод

.css({'color':'#3F40CC','font-size':'25px'}); - ЛИТЕРАЛ объекта - самый интересный!

Третий способ - через переменную.

var proba = $('#myFoto');
proba.css('border', '4px solid red');
- покажет рамку 4px, сплошную, красную


Урок 78. Анимация CSS

.animate({'width':'450px'}, 9000); - меняет, как CSS, но плавно(!), за 9 секунд.

Этот метод способен принять в себя 3 параметра, даже функцию!

.animate({'width':'450px'}, 9000, function(){alert('Готово!');});

Важно! Если вставляется НЕ анонимная функция, а какая-то своя, сделанная ранее, то круглые скобки ( ) уже НЕ ставятся, а просто name (название функции).

.animate({'width':'450px'}, 9000, name);

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

Вот так: margin-right -> marginRight


Урок 79. Вставка контента

.append('<p>...</p>'); - вставит ПОСЛЕ того, что есть в блоке;   любые(!) HTML-тэги

.prepend('<p>...</p>'); - вставит ДО того, что есть в блоке;   любые(!) HTML-тэги

.after('<p>...</p>'); - вставит ПОСЛЕ самого блока;   любые(!) HTML-тэги

.before('<p>...</p>'); - вставит ДО самого блока;   любые(!) HTML-тэги


Урок 80. Полуавтоматический цикл

.each(function(){$(this).width();}); - перебрать каждый элемент выборки, и установить им ширину, какую укажем. Обычно вводят какие-то дополнительные условия.
Пример:
$('img').each(function(){
if($(this).width() > 200){
$(this).fadeOut(3000);}});
      Приведён пример кода, в котором скрипт "пройдётся" в цикле по всем рисункам и, отобрав только те, у которых ширина больше 200px, спрячет их за 3 секунды.

Вспомнить! Анонимная функция нужна для того, чтобы появилась возможность прописать код условий. Напрямую в параметрах коды НЕ пишутся!


Урок 81. Обращение к элементам

.size(); - количество элементов, попавших в jQuery-выборку
(аналогичен свойству .length; в обычном JavaScript)

.get(0); - доступ к 1-ому элементу отбора.
(!)Этот метод возвращает НЕ jQuery-выборку, а объект обычного JavaScript.


Урок 82. Клонировать, удалить

.clone(); - клонировать, копировать элемент выборки

.remove(); - именно удалит элемент из DOM-дерева, а не скроет его. НО(!), позволяет сохранить элемент в переменную, и использовать её потом ..., если нужно.


Урок 95. Специальный метод для форм

.val(); - позволяет узнать значение атрибута val. Возвращает именно то, что прописано в HTML-коде.

.val('Проверить'); - позволяет передать/изменить значение атрибута val

HTML-тэги НЕ использовать!


Вспомнить! Формы - это "особое сословие". Вот им и уделяется столько внимания. И фильтры у них есть, и состояния у некоторых фильтров есть ... ... .

Список фильтров давал на предыдущей странице, но они могут пригодиться и здесь.

(Откроется в новом окне.)



Дополнительная информация из справочника

Взята из справочника jQuery, расположенного на моём же сайте в соответствующем подразделе страницы "Полезное".

.load(); - производит запрос HTML-данных к серверу и помещает их в выбранный элемент страницы

.data(); - устанавливает/возвращает пользовательские переменные выбранным элементам страницы

$('div').find('span'); - отберёт ВСЕ тэги span внутри ВСЕХ div-элементов

$('div').children('.big'); - отберёт ВСЕ элементы с классом .big, находящиеся внутри ВСЕХ div-элементов

.find('li:first'); - найдёт ВСЕ 1-ые элементы списков

.find('li.showed'); - найдёт ВСЕ элементы списков с классом .showed

Обратить внимание(!) на необычный синтаксис: место прописания  . 

$.get(); - производит запрос к серверу методом GET

$.post(); - производит запрос к серверу методом POST

О справочнике

Без некоторых, приведённых в нём методов, вполне можно обойтись, или прописать гораздо проще.

Вместо метода .find(); можно написать просто $('div span');

Аналогично. Вместо метода .children(); можно просто указать $('div > .big');, что значит: "выбрать дочерние элементы тэга div, имеющие класс .big".

Поэтому, я вовсе не зря написал в начале главной страницы своего справочника, что по урокам обучающего диска можно выполнить НЕ МЕНЕЕ 90% работ.

* * *

О МЕТОДАХ хватит, перехожу к СОБЫТИЯМ (действиям пользователя). СОБЫТИЯ в jQuery

Нижняя синяя стрелка вернёт на 2-ую страницу справки, посвящённую теме "Выборка в jQuery" (отбор элементов).

на ВЫБОРКУ

ВВЕРХ

Все права защищены. Copyright © 2009 - Коротеев Владимир.

Яндекс.Метрика