Hype от Tumult - отличный инструмент для некодеров, позволяющий создавать впечатляющие веб-сайты, особенно если вы ищете что-то довольно динамичное. Для людей, знакомых с AfterEffects или Sketch, его интерфейс очень похож. Hype даже позволяет вам добавлять свои собственные функции javascript, что означает, что вы даже можете создать динамический веб-сайт, подобный CMS, без необходимости знать какой-либо код.

В этом руководстве мы собираемся использовать Hype для динамического обновления содержимого веб-сайта, заполняя наш сайт последними ставками по ипотечным кредитам из файла данных.

Во-первых, Hype и Javascript должны знать, какие данные / контент вы пытаетесь изменить. В этом случае мы изменим ипотечную ставку, которая в нашем проекте является текстовым блоком. Поэтому нам нужно дать ему собственный класс. Выделите текст и присвойте ему уникальный класс в Identity Inspector. Я называю свою ставку - текущую.

Затем нам нужно добавить файл javascript, который будет содержать все данные, которые мы хотим изменить. Просто создайте простой файл в любом текстовом редакторе и назовите его data.js. В этом файле вы будете хранить все свои данные. В этом примере я сделаю это очень простым и сохраню только один объект в моем файле данных, текущую ставку по ипотеке:

data = {
currentRate: '4.5%'
}

Теперь нам нужно добавить этот файл в наш проект Hype. Перейти к View > Resource Library. Нажмите кнопку +, выберите Add File… и выберите файл data.js.

Далее мы хотим создать функцию, которая фактически изменяет текст. Снова в библиотеке ресурсов нажмите + и выберите Add Javascript Function. Вы попадете в новое окно кода, подобное этому:

Там, где написано untitledFunction, просто напишите что-нибудь более информативное, без пробелов, например: onSceneLoaded. Поскольку у меня будет больше одной сцены, я назвал свою onRatesSceneLoaded. Сохрани это.

Перейдите к Scene Inspector, и прокрутите вниз до On Scene Load. Для Action выберите Run Javascript, а в Function выберите имя только что созданной функции (onRateSceneLoaded для меня).

Вернитесь к той функции javascript, которую вы создали (в окне Resource Library выделите onRatesSceneLoaded и нажмите кнопку Edit Source… внизу.

В этой функции мы хотим сообщить Hype, какой контент мы хотим загрузить и где. В этом примере мы сохраним простоту и просто изменим одну вещь - процентную ставку.

const currentRate = document.querySelector('.rate--current');
currentRate.innerHTML = data.currentRate;

Здесь я объявляю переменную (const) с именем currentRate, которая находит (querySelector) текст, содержащий ставку по ипотеке на нашем веб-сайте (document), путем выбора класса, который мы присвоили в Инспекторе идентичности (.rate--current).

Затем я устанавливаю для содержимого этого текстового блока значение currentRate, указанное в моем файле данных.

Примечание. Если вы не хотите иметь дело с файлом данных, вы можете просто пропустить эту часть и просто установить в innerHTML любой желаемый текст, например:

currentRate.innerHTML = "4.5%"

Итак, с динамическими данными вся ваша функция выглядит так:

Подводя итог, мы сделали следующее:

  1. Скажите Hype загрузить файл javascript. Переменная данных становится доступной для Hype, потому что внутри этого файла javascript у нас есть объект javascript с именем data: (data = {}).
  2. Учитывая текстовое поле, уникальную переменную, которую Hype может использовать, чтобы найти ее во всем остальном HTML и вставить контент.
  3. Указана функция javascript, которая вызывается при загрузке нашей сцены.
  4. Сказал, что функция найдет текстовое поле и вставит HTML из нашего файла данных.

Если бы мы хотели сделать еще один шаг, эта функция javascript могла бы заполнить больше текстовых полей, сделать запрос AJAX к API, запустить анимацию javascript из другой библиотеки, что бы вы ни хотели.

Удачи во всем, что вы создаете с Hype, и дайте мне знать, если у вас возникнут вопросы.