Боже мой! Вы думали, что я забыл о вас jQuery. Что я отбрасываю тебя наполовину законченным, наполовину исследованным. Что ж, ты был неправ! Я здесь, чтобы закончить дело, которое я начал; хешировать остальную часть jQuery.

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

jQuery имеет эффекты! Эффекты более или менее, всю визуальную анимацию вы можете сделать с помощью JavaScript, но с помощью ярлыков jQuery.

С помощью эффектов jQuery вы можете скрыть или показать объект, сдвинуть, исчезнуть, анимировать > или выполнить функцию обратного вызова и даже сцепить эффекты вместе.

Методы Hide и Show позволяют назначать скорость эффекта и записываются со следующим синтаксисом:

$(selector).hide(speed, callback);

Скорости могут быть «медленными» или «быстрыми» или миллисекундами времени.

Ниже приведен оператор jQuery, представляющий собой «кнопку», которая при нажатии скрывает «p» в течение 3 секунд.

$("button").click(function(){
    $("p").hide(3000);
});

Эти сокращенные методы также позволяют использовать функции обратного вызова, которые вызываются после завершения события. Ниже находится та же кнопка, что и выше, за исключением того, что на этот раз она будет предупреждать пользователя, как только это будет сделано с помощью обратного вызова.

$("button").click(function(){
    $("p").hide(3000, function(){
        alert("Alert! This paragraph took 3 seconds to disappear.");
    });
});

Этот синтаксис jQuery применим к множеству различных эффектов, которые легко написать! (аааа….. красота jQuery внезапно становится такой очевидной.)

Вот несколько методов эффектов, которые может предложить jQuery, и их синтаксис.

$(selector).fadeIn(speed, callback);
$(selector).fadeOut(speed, callback);
$(selector).fadeToggle(speed, callback);
$(selector).fadeTo(speed, callback);
$(selector).slideUp(speed, callback);
$(selector).slideDown(speed, callback);
$(selector).slideToggle(speed, callback);
$(selector).animate({params}, speed, callback);

Все это позволяет вам исчезать, скользить или анимировать свою собственную анимацию.

При использовании метода animate() у вас по-прежнему есть скорость его выполнения и любой обратный вызов, который вы хотите вызвать после завершения эффекта, как и другие методы эффекта jQuery. Но с animate у вас есть аргумент params, помещенный перед теми двумя, которые подключаются к файлу CSS, который будет выполнять и выполнять анимацию. (Конечно, вам нужно знать, как анимировать в CSS, чтобы использовать метод анимации, но если вы знаете, как это сделать, это упростит подключение к DOM.)

Кроме того, эффекты jQuery позволяют объединять ваши эффекты в цепочку, так что вам нужно написать только один эффект, чтобы вызвать все эффекты, которые вы хотите, для одного действия пользователя.

$("button").click(function(){
        $("#myBudget").css("color", "green")
            .slideUp(3000)
            .slideDown(3000)
            .fadeOut(5000);
});

Выше находится ‹кнопка›, которая выбирает элемент с идентификатором «myBudget», и при нажатии этой кнопки выбранный элемент становится зеленым, затем скользит вверх в течение 3 секунд, затем скользит вниз в течение 3 секунд, затем медленно исчезает в течение 5 секунд. Все эти эффекты встроены в одну функцию jQuery благодаря цепочке, которая позволяет нам настраивать эффекты от одного действия пользователя.

jQuery обход — это специализированный выбор. Это использование jQuery иерархии DOM и выбор элементов, которые являются дочерними, родительскими или одноуровневыми по отношению к другим элементам.

Ниже приведены многие методы обхода jQuery, которые будут выбирать различные элементы DOM, связанные с выбранным элементом:

parent()
parents()
parentsUntil()
children()
find()
siblings()
next()
nextAll()
nextUntil()
prev()
prevAll()
prevUntil()

Существуют также методы фильтрации jQuery, которые помогают сортировать найденные элементы. Ниже приведены некоторые из основных:

first()
last()
eq()
filter()
not()

Эти функции jQuery написаны с тем же синтаксисом, что и другие:

$(document).ready(function(){
    $("div").parents();
});
$(document).ready(function(){
    $("div").children();
});

AJAX отлично подходит не только для мытья ванн. По сути, это способ взаимодействия jQuery с API, подобный классическому JavaScript fetch().

AJAX расшифровывается как Асинхронный JavaScript и XML, и так же, как выборка, это удар jQuery по загрузке и отображению любых данных на веб-странице без необходимости обновления/перезагрузки всей страницы. Gmail и Google Maps используют AJAX для загрузки, а также YouTube, Facebook и многие другие. Он позволяет вам запрашивать любые данные на вашей веб-странице, HTML, XML или JSON.

AJAX jQuery также имеет множество методов, которые значительно упрощают кодирование в JavaScript. Существуют методы для запросов GET и POST, а также метод load(), который еще больше упрощает работу.

Запросы GET собирают веб-страницу или некоторые ее данные и отображают их для пользователя, тогда как запросы POST берут некоторые данные от пользователя и изменяют веб-страницу, чтобы включить эти новые пользовательские данные.

Это их синтаксис:

$.get(URL, callback);
$.post(URL, data, callback);

Эти функции AJAX могут включать дополнительные функции обратного вызова, которые возвращают статус запроса GET или POST.

$("homepage_button").click(function(){
    $.get("user_homepage", function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    });
});
$("post_button").click(function(){
    $.post("users_new_post",
    {
        content: "VEGAS BABY!!",
        location: "Las Vegas, NV"
    },
    function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    });
});

В jQuery и AJAX есть еще более простой способ получения данных с помощью метода load(). Он простой, но мощный, поскольку может загружать данные с сервера и отображать их в выбранном элементе.

$(selector).load(URL, data, callback);

Они также могут включать необязательные функции обратного вызова, которые возвращают статус запроса GET или POST.

$("#newPostDiv").load("new_post.txt");
$("#newPostDiv").load("new_post.txt #special-id");
$("button").click(function(){
    $("#newPostDiv").load("new_post.txt", function(responseTxt, statusTxt, xhr){
        if(statusTxt == "success")
            alert("Post successfully uploaded!");
        if(statusTxt == "error")
            alert("Error: Post not uploaded. " + xhr.status + ": " + xhr.statusText);
    });
});

В общем, jQuery — отличный инструмент, который поможет вам писать на JavaScript намного лучше и быстрее. Тем не менее, как человек, который начал изучать React, я не знаю, сколько я могу сделать в jQuery, чего я не могу сделать так же хорошо или лучше в React, особенно с использованием fetch() вместо аякса. Я также знаю, что вам обычно больше всего нравится первый способ изучения. Возвращаясь к написанию на ванильном JavaScript, использование jQuery кажется привлекательным. JS требует, чтобы вы были чрезвычайно точны в своих шагах, когда вы пишете свой код, поэтому с этой точки зрения мира программирования использование jQuery кажется довольно приятным, избавляя от повторяющихся вещей и позволяя вам повторно использовать больше вашего кода.

Это не первое место в моем списке новых языков/библиотек для изучения в данный момент, потому что я чувствую, что знаю другие вещи, которые делают большую часть того, что делает jQuery, но ясно, что у jQuery есть свое место в истории программирования, и он все еще используется, может показаться более полезным, чем можно было бы ожидать.