learnxinyminutes-docs/ru-ru/jquery-ru.html.markdown

103 lines
6.0 KiB
JavaScript
Raw Normal View History

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 и со многим другим.
Поскольку jQuery является библиотекой JavaScript, сначала вам следует [изучить JavaScript](https://learnxinyminutes.com/docs/ru-ru/javascript-ru/).
```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'
///////////////////////////////////
// 2. События и эффекты
// jQuery прекрасно справляется с обработкой событий
// Часто используемое событие — это событие документа 'ready'
// Вы можете использовать метод 'ready', который сработает, как только документ полностью загрузится
$(document).ready(function(){
// Код не выполнится до тех пор, пока документ не будет загружен
});
// Обработку события можно вынести в отдельную функцию
function onAction() {
// Код выполнится, когда произойдёт событие
}
$('#btn').click(onAction); // Обработчик события сработает при клике
// Другие распространенные события:
$('#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); // Когда сдвинули курсор с элемента
// Вы можете не только обрабатывать события, но и вызывать их
$('#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-30 18:42:55 +03:00
```