МЕТОДЫ в jQuery
Что такое "методы"?Выполнив jQuery-выборку нужных элементов, можно приступать к действиям над ними, т.е. прописывать им различные методы. Методы - означает: присвоить действия отобранным в jQuery-набор элементам. В результате этого элементы начинают что-то делать: исчезать, появляться, выделяться, подсвечиваться, моргать и т.д., и т.п.. Каждый метод что-то делает! Любой метод либо сам что-то возвращает, либо получает параметр и выполняет, что указано в параметре. Не забывать! Подключать jQuery к каждой странице! Далее привожу список изученных самых основных(!) методов. Вообще их, конечно, побольше будет, но до сих пор вполне хватало этих. (Почему? Смотреть в конце страницы.) О списке методовЗаголовки в списке - это №/№ уроков на диске, относящихся к отмеченному методу, или группе методов. МетодыДействия над отобранными элементами. Урок 67.text('Текст'); - меняет текст только(!); покажет, что прописано в скобках. .hide(3000); - элемент спрячет за 3 секунды .show(3000); - элемент покажет за 3 секунды С пустыми параметрами (...) просто спрячет или покажет. Урок 68. Цепные функцииПример: Длина цепочки НЕ ОГРАНИЧЕНА(!). Урок 69. Автоматические циклыПример: Ни в какую переменную 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) Пример: Урок 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'); Урок 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();}); - перебрать каждый элемент выборки, и установить им ширину, какую укажем.
Обычно вводят какие-то дополнительные условия. Вспомнить! Анонимная функция нужна для того, чтобы появилась возможность прописать код условий. Напрямую в параметрах коды НЕ пишутся! Урок 81. Обращение к элементам.size(); - количество элементов, попавших в jQuery-выборку .get(0); - доступ к 1-ому элементу отбора. Урок 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% работ. * * * О МЕТОДАХ хватит, перехожу к СОБЫТИЯМ (действиям пользователя). Нижняя синяя стрелка вернёт на 2-ую страницу справки, посвящённую теме "Выборка в jQuery" (отбор элементов). |
Все права защищены. Copyright © 2009 - Коротеев Владимир.