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

124 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
category: framework
framework: 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
///////////////////////////////////
// 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);
///////////////////////////////////
// 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(); // Получить или установить высоту элемента
// Во многих методах вам доступна информация ТОЛЬКО о первом элементе из выбранных
$('p').height(); // Вы получите высоту только для первого <p> элемента
// Метод 'each' позволяет это исправить и пройтись по всем выбранным вами элементам
var heights = [];
$('p').each(function() {
heights.push($(this).height()); // Добавить высоту всех <p> элементов в массив
});
```