# GiftBox-3D Виджет, который добавляет на страницу сайта интерактивный 3D объект в виде подарочной коробки. **Demo:** [https://dmitryspace.com/3d-gift](https://dmitryspace.com/3d-gift/index.html?text=Dmitry%20Space&fontSize=30&background=71b1e9) ![](https://i.imgur.com/OrpMzRZ.jpg) ## Установка В то место страницы, где должен быть виджет, нужно добавить такой код: ```HTML ``` Виджет имеет квадратные пропорции и всегда растягивается на всю ширину того блока, в котором он находится. Поэтому, чтобы скорректировать размер виджета, вы можете просто изменить ширину того блока, в который он добавлен. Например, так: ```HTML
``` ## Настройки Виджет имеет несколько опций, которые прописываются в качестве атрибутов в теге <script> | Опция | Тип | По-умолчанию | Описание | --- | --- | --- | --- | | **id** | строка | GiftBox3D | ID элемента. Всегда равен **GiftBox3D** *(обяз.)* | | **src** | ссылка | https://dmitryspace.com/3d-gift/GiftBox.init.js | Ссылка на файл **GiftBox.init.js** *(обяз.)*
Вы можете использовать ссылку из примера, либо загрузить этот файл в своё файловое хранилище. | | **data‑color1** | HEX код цвета
**(без решётки)** | f69974 | Цвет подарочной коробки. *(не обяз.)* | | **data‑color2** | HEX код цвета
**(без решётки)** | ea3e55 | Цвет ленты на подарочной коробке. *(не обяз.)* | | **data‑text** | строка | Подарок! | Текст, который будет появляться, при наведении курсора мыши на коробку. *(не обяз.)*
Желательно использовать одно-два коротких слова. Если нужно перенести текст на другую строку, то вместо переноса строки используется управляющий символ **\n** | | **data‑text‑color** | HEX код цвета
**(без решётки)** | ffffff | Цвет текста *(не обяз.)* | | **data‑font‑size** | число | 50 | Размер текста *(не обяз.)* | | **data‑background** | HEX код цвета
**(без решётки)** | | Цвет фона *(не обяз.)* | | **data‑open‑trigger** | строка | "hover" | Триггер открытия коробки ["hover"\|"click"] *(не обяз.)* | Для выбора цвета вы можете воспользоваться этим инструментом: https://csscolor.ru/ ## Обработка событий ```JavaScript $(window).on("message onmessage", function(e) { let message = e.originalEvent.data; if (message.type === 'giftHover') { // Обработка наведения console.log('Gift hovered'); } if (message.type === 'giftClick') { // Обработка клика console.log('Gift clicked'); } }); ``` ### Поддержка браузерами Виджет использует технологию WebGL для рендеринга трёхмерных сцен, которая поддерживается всеми современными браузерами. Если браузер пользователя не поддерживает WebGL, то вместо 3D-объекта он увидит похожую SVG картинку подарочной коробки, при этом все цвета заданные в настройках будут сохранены. ##### Браузеры, поддерживающие WebGL Google Chrome 9+, Firefox 4+, Opera 15+, Safari 5.1+, Internet Explorer 11 и Microsoft Edge. ### Лицензия MIT. Copyright (c) 2021 [Dmitry Space](https://t.me/DmitrySpace)