2018-08-30 18:42:55 +03:00
-- -
category : tool
tool : jquery
contributors :
- [ "Sawyer Charles" , "https://github.com/xssc" ]
translators :
- [ "Ev Bogdanov" , "https://github.com/evbogdanov" ]
lang : ru - ru
filename : jquery - ru . js
-- -
jQuery — это библиотека JavaScript , которая помогает "делать больше, писать меньше" . Она выполняет множество типичных JavaScript - задач , упрощая написание кода . jQuery используется крупными компаниями и разработчиками с о всего мира . Она упрощает и ускоряет работу с AJAX , с событиями , с DOM и с о многим другим .
2018-08-31 02:08:20 +03:00
Поскольку jQuery является библиотекой JavaScript , вам следует начать с [ изучения JavaScript ] ( https : //learnxinyminutes.com/docs/ru-ru/javascript-ru/).
2018-08-30 18:42:55 +03:00
` ` ` js
2018-08-30 22:55:47 +03:00
///////////////////////////////////
// 1. Селекторы
// Для получения элемента в jQuery используются селекторы
var page = $ ( window ) ; // Получить страницу целиком
// В качестве селектора может выступать CSS-селектор
var paragraph = $ ( 'p' ) ; // Получить все <p> элементы
var table1 = $ ( '#table1' ) ; // Получить элемент с идентификатором 'table1'
var squares = $ ( '.square' ) ; // Получить все элементы с классом 'square'
var square _p = $ ( 'p.square' ) // Получить <p> элементы с классом 'square'
2018-08-30 23:53:46 +03:00
///////////////////////////////////
// 2. События и эффекты
// jQuery прекрасно справляется с обработкой событий
// Часто используемое событие — это событие документа 'ready'
// Вы можете использовать метод 'ready', который сработает, как только документ полностью загрузится
$ ( document ) . ready ( function ( ) {
// Код не выполнится до тех пор, пока документ не будет загружен
} ) ;
// Обработку события можно вынести в отдельную функцию
function onAction ( ) {
// Код выполнится, когда произойдёт событие
}
$ ( '#btn' ) . click ( onAction ) ; // Обработчик события сработает при клике
2018-08-31 01:38:51 +03:00
// Другие распространённые события:
2018-08-30 23:53:46 +03:00
$ ( '#btn' ) . dblclick ( onAction ) ; // Двойной клик
$ ( '#btn' ) . hover ( onAction ) ; // Наведение курсора
$ ( '#btn' ) . focus ( onAction ) ; // Фокус
$ ( '#btn' ) . blur ( onAction ) ; // Потеря фокуса
$ ( '#btn' ) . submit ( onAction ) ; // Отправка формы
$ ( '#btn' ) . select ( onAction ) ; // Когда выбрали элемент
$ ( '#btn' ) . keydown ( onAction ) ; // Когда нажали клавишу
$ ( '#btn' ) . keyup ( onAction ) ; // Когда отпустили клавишу
$ ( '#btn' ) . keypress ( onAction ) ; // Когда нажали символьную клавишу (нажатие привело к появлению символа)
$ ( '#btn' ) . mousemove ( onAction ) ; // Когда переместили курсор мыши
$ ( '#btn' ) . mouseenter ( onAction ) ; // Когда навели курсор на элемент
$ ( '#btn' ) . mouseleave ( onAction ) ; // Когда сдвинули курсор с элемента
2018-08-31 00:57:46 +03:00
// Вы можете не только обрабатывать события, но и вызывать их
$ ( '#btn' ) . dblclick ( ) ; // Вызвать двойной клик на элементе
// Для одного селектора возможно назначить несколько обработчиков событий
$ ( '#btn' ) . on (
{ dblclick : myFunction1 } // Обработать двойной клик
{ blur : myFunction1 } // Обработать исчезновение фокуса
) ;
// Вы можете перемещать и прятать элементы с помощью методов-эффектов
$ ( '.table' ) . hide ( ) ; // Спрятать элемент(ы)
// Обратите внимание: вызов функции в этих методах всё равно спрячет сам элемент
$ ( '.table' ) . hide ( function ( ) {
// Сначала спрятать элемент, затем вызвать функцию
} ) ;
// Вы можете хранить селекторы в переменных
var tables = $ ( '.table' ) ;
// Некоторые основные методы для манипуляций с документом:
tables . hide ( ) ; // Спрятать элемент(ы)
tables . show ( ) ; // Показать элемент(ы)
tables . toggle ( ) ; // Спрятать/показать
tables . fadeOut ( ) ; // Плавное исчезновение
tables . fadeIn ( ) ; // Плавное появление
tables . fadeToggle ( ) ; // Плавное исчезновение или появление
tables . fadeTo ( 0.5 ) ; // Изменение прозрачности
tables . slideUp ( ) ; // Свернуть элемент
tables . slideDown ( ) ; // Развернуть элемент
tables . slideToggle ( ) ; // Свернуть или развернуть
// В с е эти методы принимают скорость (в миллисекундах) и функцию обратного вызова
tables . hide ( 1000 , myFunction ) ; // Анимация длится 1 секунду, затем вызов функции
// В методе 'fadeTo' вторым параметром обязательно идёт прозрачность
tables . fadeTo ( 2000 , 0.1 , myFunction ) ; // Прозрачность меняется в течение 2 секунд до 0.1, затем вызывается функция
// Метод 'animate' позволяет делать более продвинутую анимацию
tables . animate ( { "margin-top" : "+=50" , height : "100px" } , 500 , myFunction ) ;
2018-08-31 01:38:51 +03:00
///////////////////////////////////
// 3. Манипуляции
// Манипуляции похожи на эффекты, но позволяют добиться большего
$ ( 'div' ) . addClass ( 'taming-slim-20' ) ; // Добавить класс 'taming-slim-20' ко всем <div> элементам
// Часто встречающиеся методы манипуляций
$ ( 'p' ) . append ( 'Hello world' ) ; // Добавить в конец элемента
$ ( 'p' ) . attr ( 'class' ) ; // Получить атрибут
$ ( 'p' ) . attr ( 'class' , 'content' ) ; // Установить атрибут
$ ( 'p' ) . hasClass ( 'taming-slim-20' ) ; // Проверить наличие класса
$ ( 'p' ) . height ( ) ; // Получить или установить высоту элемента
2018-08-31 01:54:17 +03:00
// В о многих методах вам доступна информация ТОЛЬКО о первом элементе из выбранных
$ ( 'p' ) . height ( ) ; // Вы получите высоту только для первого <p> элемента
// Метод 'each' позволяет это исправить и пройтись по всем выбранным вами элементам
2018-08-31 01:38:51 +03:00
var heights = [ ] ;
$ ( 'p' ) . each ( function ( ) {
heights . push ( $ ( this ) . height ( ) ) ; // Добавить высоту всех <p> элементов в массив
} ) ;
2018-08-30 18:42:55 +03:00
` ` `